Coding style, and best practices are developed early. Shin’ichi Suzuki stated that correcting a bad habit requires twice the time taken to develop it in the first place. For beginners, Code Complete is an excellent resource to help point you in the direction of strong coding practices.
Code Complete introduces most things software. It includes an overview of the development cycle, data structures, variables, routines, abstraction, classes and control structures. There is also some insight into software testing, debugging tips and optimization. Although this book does not cover agile principles, it does hint at key reasons why agile-based frameworks result in higher quality products.
Steve presents an interesting framework for thinking about how to be a better programmer:
1) Programmers spend most of their time debugging, testing and maintaining code
2) Catching defects earlier is always cheaper for your buisness
3) Defects should be expected in development
4) Great programmers are faster and therefore cheaper than poor programmers
From here, the book takes a critical look at the basic elements of coding and says “how could this be done so we will catch the errors sooner rather than later” or “how can I do this so it is clear and easy to maintain?”