On Sat, May 06, 2017 at 09:18:57AM +0000, Michael Kjörling wrote:
I would actually take that one step further: When you are writing
code, you are _first and foremost_ communicating with whatever human
will need to read or modify the code later.
This can be, and is, taken too far. It is currently fashionable in the
Ruby world to erect testing gantries that look like
describe 'service' do
it 'is listening' do
expect(port 443).to be_listening
end
end
and then drag in a couple hundred thousand lines of extra code to make
this cuteness approximate instructions for the computer.
It's all well and good to write for the person who comes behind you, but
at some point it will break, and the closer you've flown to this sun the
worse it will be for the poor sod who has to pick up the pieces. I'd
take durable code I have to work to understand over fragile artwork
any day.
khm