This book is a really good examination of low-level design of code. This older version was written before widespread adoption of Java, web development, or object oriented development. However, it's focus on well-designed routines (methods/functions) meant that the meat of the content was still highly useful and actually unencumbered by more hyped up features of more recent programming trends.
The new version, Code Complete Second Edition
includes content about newer programming techniques, including object oriented development and design patterns.