DEV Community

Discussion on: The ONE book every developer MUST read!

Collapse
larrywachira profile image
Larry

Any less egotistical sources you'd recommend?

Collapse
codemouse92 profile image
Jason C. McDonald • Edited on

I don't have any links saved...it's been a while, and I read a lot. However, I can safely say there are hundreds of excellently-written articles on all of Robert Martin's concepts.

Here's what I recommend:

  1. Read multiple sources. Any one perspective can still be a bit off, just by nature of us being human.

  2. Watch the author's tone. Frequent strong absolutes (e.g. "always" and "never"), conflating personal opinion with Objective Law, or a pattern of ignoring or belittling exceptions are all warning signs; if you see these cropping up frequently, use caution when taking their advice. (Admittedly, #2 can be hard to get right every time as an author. Look for patterns, not once-off instances.)

  3. Look at the author's experience. If they've been writing code for only a year, they may not have sufficient experience to personally vet the concepts they're describing. That doesn't mean you ignore everything they have to say, but don't consider it on the same caliber of reliability as an article written by someone who has been coding for 10+ years.

  4. Take time to find rebuttals. For example, if you want to embrace SOLID, try to find some articles (see #1-#3) that discuss possible issues with that practice. No practice or methodology is a magic one-size-fits-all. You can always find valid exceptions, which you should try to be aware of.

And yes, all the above does take a lot of time and mental effort. This is why one doesn't become a senior developer in two years!

I might add, don't neglect your own experience as you put the things you learn into practice. If you keep using (say) TDD or Intent-Commenting (that one's mine), and it is actually inhibiting your work instead of aiding it (no matter how many different "flavors" of the practice you try), amend or drop it. Ultimately, you have to learn what helps you produce the best result.

Some comments have been hidden by the post's author - find out more