DEV Community

Discussion on: Beginner Tips: Solving Programming Problems

Collapse
 
ddarrko profile image
Daniel

In a text editor environment, I find that I put a console.log() if I'm >coding in JavaScript, or puts in Ruby after every line as I'm checking the >values of my code and seeing if it is operating the way I intended.

In this case it would be better served to write tests and validate code is working the way you intended via assertions.

Collapse
 
canderson93 profile image
Carl Anderson

Yes and no.

Writing tests only really check that the entire function is working as intended. They're nice to have since it can show that you know how to test and that your code works.

The problem is:

  1. Writing tests take time you might not have
  2. They don't help you narrow down an issue.

You need a way of debugging specific lines are wrong so you know what you need to fix -- The simplest (and best) method is console.log as Sofia suggests.

Collapse
 
ddarrko profile image
Daniel

Writing tests take time you might not have

Writing tests will save time in the long run. Writing them before you write the implementation is preferred.

They don't help you narrow down an issue.

If your code is structured properly (aka small functions/classes responsible for singular things) unit tests will tell you at exactly which point your test is failing.

Thread Thread
 
canderson93 profile image
Carl Anderson

While I agree in a general sense, this article is about coding during an interview -- there is no "long-run" if you only get an hour to solve the problem. If you're spending a significant amount of time writing tests, you're not spending that time answering the question.