Code Complete: A Practical Handbook of Software Construction, Second Edition

Code Complete: A Practical Handbook of Software Construction, Second Edition

Steve McConnell

Language: English

Pages: 960

ISBN: 0735619670

Format: PDF / Kindle (mobi) / ePub

Code Complete: A Practical Handbook of Software Construction, Second Edition

Steve McConnell

Language: English

Pages: 960

ISBN: 0735619670

Format: PDF / Kindle (mobi) / ePub


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

Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching (3rd Edition) (Pts. 1-4)

Head First jQuery

Learning OpenGL ES for iOS: A Hands-on Guide to Modern 3D Graphics Programming

Elixir in Action

 

 

 

 

 

 

 

 

 

 

 

into an array of paragraphs rather than indexParagraphs or 764 paragraphsIndex. 765 Finally, standardized Prefixes allow you to check types accurately when you’re 766 using abstract data types that your compiler can’t necessarily check: paReformat 767 = docReformat is probably wrong because pa and doc are different UDTs . 768 The main pitfall with standardized prefixes is neglecting to give the variable a 769 meaningful name in addition to its prefix. If ipa unambiguously designates

think that it has remained unchanged somewhere else. Such a problem is known 663 as a side effect. For example, in the following code fragment, TheAnswer is a 664 global variable: 665 Visual Basic Example of a Side-Effect Problem 666 theAnswer = GetTheAnswer() theAnswer is a global 667 GetOtherAnswer() variable. otherAnswer = GetOtherAnswer() changes 668 averageAnsw theAnswer er is . averageAnswer = (theAnswer + otherAnswer) / 2 wrong. 669 You might assume that the call to

860 // create transaction object, depending on type of transaction 861 switch ( transactionData.Type ) { 862 case ( TransactionType_Deposit ): 863 transaction = new Deposit( transactionData ); 864 break; 865 866 case ( TransactionType_Withdrawal ): 867 transaction = new Withdrawal( transactionData ); 868 break; 869 870 case ( TransactionType_Transfer ): 871 transaction = new Transfer( transactionData ); 872 break; 873 874 default: 875 // process unknown

doesn’t 346 refer to anything fancy—just an identifiable function of the system you’re 347 integrating. If you’re writing a word processor, a feature might be displaying 348 underlining on the screen or reformatting the document automatically— 349 something like that. 350 When the feature to be integrated is bigger than a single class, the “increment” in 351 incremental integration is bigger than a single class. This diminishes the benefit 352 of incrementalism a little in that it

popular with lovers who 208 on and off at will, so be sure that what you’re doing is something you want to live in the blissful 209 become a habit. A professional programmer writes readable code, period. abstraction that assumes 210 that theirs is the only It’s also good to recognize that whether a piece of code ever belongs exclusively 211 existence in the universe. to you is debatable. Douglas Comer came up with a useful distinction between 212 Such programs are private and public

Download sample

Download