Richard Bucker

maintainable code

Posted at — Sep 22, 2015

This YouTube video on maintainable code set my hair on fire. These guys usually have something interesting to say but on this subject they are a bit naive.

My comments:
I think we all strive for maintainable code but how we get there is debatable. Given your examples: PEP-8, for python, has become a religious nexus. The only good side to PEP-8 is that there is a tool the will evaluate the code although one can ignore the warnings and continue. Golang has an opinionated view of code formatting but does not go as far as PEP-8. (I’ve worked on teams where my peers spent more time criticizing peers for PEP-8 adherence that it just delayed execution). Javascript and PHP are going to be the hardest to get concensus from. It just is and I have no nice way to explain it. 
Writing the documentation first is also false. While it’s nice to say it’s impossible in practice. See Knuth’s books and essays on programming languages. Finally, the whole thing begins with requirements gathering. I developed an environment that would allow the analyst to define the flow and sometimes the signatures. Then the programmers would work on the algorithms.
The reality and by extension the erlang way… make it work simply and then refine it.