How to improve the craftsmanship of software developers

Ch1 - Intro

Ch2 - Naming

Ch3 - Functions

One of the more universal, yet simple rules is: Function names should be verbs if the function changes the state of the program, and nouns if they're used to return a certain value.

Ch4 - Comments

Ch5 - Formatting