

Ask HN: Recommended Books/Articles on clean code design. - safetyscissors

Hi Everyone,<p>I've been having a problem lately where I feel like my code I feel like my code base is in disarray and I get to the point where I feel dirty.<p>I was wondering if there are any books out there to help me improve my coding style to a more organised structure and also how to make it easier to understand for myself and others.<p>Thank you :)
======
swanson
The first step is to be aware that you aren't writing succinct, manageable
code - so you are already making progress :)

I'd recommend these books, mixed with some searching around for best practices
for whatever specific framework/language/toolkit you are writing code with.

Clean Code

[http://www.amazon.com/Clean-Code-Handbook-Software-
Craftsman...](http://www.amazon.com/Clean-Code-Handbook-Software-
Craftsmanship/dp/0132350882)

Refactoring to Patterns

[http://www.amazon.com/Refactoring-Patterns-Joshua-
Kerievsky/...](http://www.amazon.com/Refactoring-Patterns-Joshua-
Kerievsky/dp/0321213351)

------
vermasque
An alternative or supplement to books would be to do static code reviews with
someone. They can give feedback that a book can't. For example, ask the
reviewer what would make the reviewed code easier to understand.

Also, you could look up open source projects in the technology stack that you
use and compare their code base to yours. In other words, follow a good
example if it exists.

------
munaf
The Art of Readable Code is excellent.

[http://www.amazon.com/Art-Readable-Code-Dustin-
Boswell/dp/05...](http://www.amazon.com/Art-Readable-Code-Dustin-
Boswell/dp/0596802293/ref=sr_1_1?ie=UTF8&qid=1325218247&sr=8-1)

~~~
swanson
I respectfully fully disagree with recommending The Art of Readable Code.
Particularly, I take issue with the advice on comments, as well as the strange
point that sometimes 'goto' is acceptable.

While there are some good sections on things like naming variables and "code
aesthics" that kind of advice is not going to dramatically improve your code
quality and I think most developers achieve better results with something like
Clean Code or Code Complete.

------
jackkinsella
I highly recommend Refactoring, by Martin Fowler.

