DEV Community

Daniel Suarez
Daniel Suarez

Posted on

The importance of being earnest about your return values

I would like to write about return values. And upon that subject the simple matter of properly confirming your return values. Sounds simple enough, but as a new programmer this idea of return values has not yet been firmly planted in my head.

I was going to work on my first major project, scraping a website and creating a CLI. It didn't take long to figure out what I wanted to do. The numbers on recyclables have always confounded me. I thought I might scrape a website with information on recyclables and offer some simple and clear facts on plastics. I thought this might be helpful to many.

I chose my classes composed of Plastic, Fact, CLI, and, Scraper. These seemed like good and logical classes for this scrape.
I worked on my code for some time and things slowing evolved and became more focused. I used pry often and everywhere to check and confirm my code but here is where I also struggled for some time. As I looked upon the return values provided by pry, all the information that I needed was on my screen. Yet my code was not working correctly. I ran pry many times and each time it provided the perfect answer. Yet my code would stall. I was perplexed.

I finally realized by an inadvertent scroll of my screen that I was not properly checking the entire return value but just a part of it. I was only looking at the return value for an instance variable. Had I looked closer I would have discovered it was the entire object being returned and why my code was not working. I laughed at my newbie mistake but it was also a good hard lesson to learn on the importance of being earnest about your return values.

Warp.dev image

Warp is the #1 coding agent.

Warp outperforms every other coding agent on the market, and gives you full control over which model you use. Get started now for free, or upgrade and unlock 2.5x AI credits on Warp's paid plans.

Download Warp

Top comments (0)