Widely considered one of the best practical guides to programming, Steve McConnell s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices and hundreds of new code samples illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking and help you build the highest quality code.
Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor or evolve code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
Welcome to software construction Metaphors for a richer understanding of software development Measure twice, cut once: Upstream prerequisites Key construction decisions Design in construction Working classes High-Quality routines Defensive programming The Pseudocode programming process General issues in using variables The power of variable names Fundamental data types Unusual data types Organizing straight-line code Using conditionals Controlling loops Unusual control structures Table driven methods General control issues The software-quality landscape Collaborative construction Developer testing Debugging refactoring Code tuning strategies How program size affects construction Integration Programming tools Layout & style Self documenting code Personal character Themes in software craftsmanship