Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: You've gotta have tests!

by Your Mother (Archbishop)
on Aug 23, 2018 at 05:51 UTC ( [id://1220897]=note: print w/replies, xml ) Need Help??


in reply to You've gotta have tests!

++. The thing about tests is they feel foreign at first and like a huge hit. I think it’s probably three times harder to write the tests than the code; ballpark, back of the napkin. So a one month project might be a four month project if all testing, fixtures, mocking, and build niceties are met. The thing about that is that it cuts debug and future related development and refactoring and customer upset time—and maybe training time since reading tests is a perfect way to learn a code base—down geometrically. So a two day bug is a two hour bug. It won’t make those three months up immediately but after a year… it’s probably paying interest and dividends.

And tests eventually become fun to write. At this point, I enjoy writing tests almost as much as greenfield code and much more than dealing with legacy code.

Replies are listed 'Best First'.
Re^2: You've gotta have tests!
by talexb (Chancellor) on Aug 23, 2018 at 11:51 UTC
      At this point, I enjoy writing tests almost as much as greenfield code and much more than dealing with legacy code.

    Right .. and I find tests give you a much more nuanced understanding of what the module does, and really clarifies your thinking. I believe legacy code with tests would be a lot less scary than what you usually see, code without tests.

    Alex / talexb / Toronto

    Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1220897]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-22 11:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found