[clug] Think Pieces

Paul Wayper paulway at mabula.net
Sun Jul 11 10:58:49 UTC 2021

On 10/7/21 8:18 pm, jm via linux wrote:
> On 10/7/21 11:58, jhock--- via linux wrote:
>> When I studied computing at uni, we would get a pass if the software worked and then a credit if the software was optimised, etcetera, etcetera. No one seems to do that nowadays. It seems to me that most software developers create something, do very little testing and wait for users to find the bugs. 
> That's "agile" for you and MVP (Minimum Viable Product). They seem to
> forget the viable bit. They seem to be trying to apply it everywhere
> forgetting to use the appropriate tool/methodology for the job. I was
> fond at one stage of saying that people are confusing prototype with
> product.
> You forgot marks for good comments which seems to gone the way of the
> dodo. I've started arguments with developers about the importance of
> commenting your code only to be told it's unnecessary by them.

I love watching those people.  They also seem to wonder who wrote that stupid
thing, and why it's so obviously wrong, so they change it.  Then they find out
that they wrote it, and the reason it's written that way is because of some
obscure bug that they discovered last time and then forgot.  They then seem so
angry at whoever it was that didn't write a comment in the code to explain
their reasoning :-)

I document using the simple rule:

Always write code as if the maintenance programmer who has to look at it next
is a homicidal maniac who knows where you live.

Every time I find myself thinking "yeah, that's a bit hard to understand" I
write a comment.  And often the process of writing the comment also helps me
understand it better.  A few times, writing the comment has made me think "but
maybe there's a better way", which has in turn made the code much simpler or
removed a lot of cruft.

Likewise, I also see the people that don't write comments not writing tests,
because their code obviously works...

Have fun,


More information about the linux mailing list