Good developer?

I came across this tip while reading the book "Refactoring - Improve the Design of Existing Code" by Martin Fowler and find it unsurprising true.

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

I can't explain how many times I've actually felt that (and of course, I've also committed bad code). Just imagine if the codes are self-explanatory w/o the need for extra documentation...

Published Monday, July 30, 2007 4:04 PM by microlau
Filed under:

Comments

# re: Good developer?

Monday, July 30, 2007 9:01 PM by icelava

http://icelava.net/forums/thread/1040.aspx

# re: Good developer?

Tuesday, July 31, 2007 11:59 AM by cruizer

hopefully upcoming C# 3.0 stuff can help enable such code, like extension methods.

one can also study more expressive programming languages like Ruby and Smalltalk... ;)

# re: Good developer?

Tuesday, July 31, 2007 9:12 PM by icelava

language features don't matter.

It is the _thought_ behind the code that counts.

# re: Good developer?

Friday, August 03, 2007 10:31 AM by microlau

Agreed. It's the fingers that does the talking.

# re: Good developer?

Monday, August 06, 2007 8:12 AM by cruizer

but that's not general. i mean...can you say that it's easy to create readable code in some old BASIC implementation wherein you can only have one letter variables and you have to deal with GOTO all the time? :)

language features can make stuff easier to read or understand. on the other hand, language features can also make things needlessly more complex.

# re: Good developer?

Thursday, August 09, 2007 12:47 PM by icelava

Is it _relevant_ to talk about ancient languages? I reckon a scoped view on modern-day languages has more meaningful context for this discussion.

Have a look at typical code (in modern languages) and I can almost lay wager it is messy, not well thought out, with a blind focus in getting the computer to do what it needs to do, they are seldom about telling another _person_ what needs to be done.