Code Complete

( 23 )


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 ...

See more details below
Paperback (2nd ed.)
$34.00 price
(Save 31%)$49.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (27) from $23.45   
  • New (15) from $29.45   
  • Used (12) from $23.45   
Code Complete

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$22.99 price
(Save 42%)$39.99 List Price


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

Excellent exposition of the software development process, specifically the author examines the software construction process itself, based on common commercial practices with a strong emphasis on quality, workflow and scheduling improvements. This practical guide presents effective software development practices for problem definition, requirement analysis, implementation planning, design, construction and integration. Indeed the practical aspects of the entire development cycle are analyzed and explained including testing, maintenance and enhancement. Focuses on data control, quality improvement and craftsmanship, that elusive state that distinguishes professional competence from hacking. Source code is in C and Pascal, replete with "key point" notes and more importantly with "coding horror" analysis. Emphasizes code optimization, testing and troubleshooting for constant quality improvement.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
For ten years, Steve McConnell’s Code Complete has inspired programmers to get better at their profession and has given them powerful insights for doing so. Now, he’s thoroughly overhauled Code Complete to reflect all that’s happened since 1994. Web programming. Agile and collaborative methods. Patterns. Refactoring.

There are some code examples here -- now in C#, VB.NET, and Java. (And object-oriented techniques are now woven throughout.) But the heart of the book is still how to think more clearly at every level.

How much planning is enough for your project? How do you manage complexity? Choose the right language for the task? Write higher-quality code? Organize it effectively? Cope with the realities of integration? Few books deal well with questions like these. Code Complete, Second Edition does, and it’s indispensable. Bill Camarda

Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2003 and Upgrading & Fixing Networks for Dummies, Second Edition.

The concepts discussed in this encyclopedic treatment are applicable to any procedural language in any computing environment. The presentation, intended to help developers take strategic action rather than fight the same battles again and again, includes some 500 examples of code (good and bad), along with checklists for assessment of architecture, design approach, and module and routine quality. Annotation c. Book News, Inc., Portland, OR (
Read More Show Less

Product Details

  • ISBN-13: 9780735619678
  • Publisher: Microsoft Press
  • Publication date: 6/15/2004
  • Series: Developer Best Practices Series
  • Edition description: 2nd ed.
  • Edition number: 2
  • Pages: 960
  • Sales rank: 113,376
  • Product dimensions: 7.40 (w) x 9.00 (h) x 2.10 (d)

Meet the Author

Steve McConnell is recognized as one of the premier authors and voices in the development community. He is Chief Software Engineer of Construx Software and was the lead developer of Construx Estimate and of SPC Estimate Professional, winner of Software Development magazine's Productivity Award. He is the author of several books, including Code Complete and Rapid Development, both honored with Software Development magazine's Jolt Award.

Read More Show Less

Read an Excerpt

From Chapter 20: Programming Tools

...20.6 Ideal Programming Environment

This section's description of an ideal programming environment is an excursion into programming fantasyland. Although such a vision is not immediately practical, this book about construction has a responsibility to define where construction tools should be going. All of the capabilities described in this section are easily within the reach of today's technology. Perhaps the description will serve as inspiration for an ambitious toolsmith who will create a programming environment that towers above the ones currently available.

For this discussion, the fantasy environment is called "Cobbler." The name is inspired by the old saying that the cobbler's children are the last to have new shoes, which is true of today's programmers and programming tools.


The Cobbler environment integrates the programming activities of detailed design, coding, and debugging. When source-code control is needed, Cobbler integrates source-code version control too. If the detailed-design practices suggested in this book are followed, the primary detailed-design tool required is PDL, which can be handled easily, even in text environments.

Language support

During code construction, Cobbler provides ready access to cross-referenced help on the programming language. Help discusses nuances of the language as well as the basics and mentions common problems in using features of the language. For error messages, Help lists the common problems that might give rise to each message.

The environment provides templates for language constructs so that youdon't need to remember the precise syntax for a case statement, a for loop, or a more unusual construct. The help systems provides a well-organized list of all available routines, and you can paste the template for a routine into your code.

Detailed cross-referencing

Cobbler enables you to generate a list of all the places in which a variable is used or receives a value. You can get help on a variable declaration the same way you's get help on any other topic, with ready access to the variable definition and comments about it.

You can retrieve information on routines just as easily. You can follow a chain of calls to routines up and down--pointing at the name of the routine you want to view in more detail. You can check variable types in a call to a routine with the touch of key.

Interactive views of program organization

The Cobbler environment radically changes the way you view program source text. Compilers read source files from beginning to end, and traditional development environments force you to view a program the same way. This is sequential and flat--far from what you need for a meaningful view of a program.

In Cobbler, you can view a tangle of routine names, graphically presented, and zoom in on any routine. You can choose the model that organizes the tangle of routines: hierarchy, network, modules, objects, or an alphabetical listing. Your high-level view isn't cluttered by a routine's details until you want to zoom in on them.

When looking at the guts of a routine, you can view them at any of several levels of detail. You can view only the routine's definition or only the comment prolog. You can view code only or comments only. You can view control structures with or without a display of the code they control. In languages with macro commands, you can view a program with the macros expanded or contracted. If they&#39re contracted, you can expend an individual macro with the touch of a key.

In writing this book, I've used a word processor with a powerful outline view. Without the outline view and the ability to study an outline and then zoom in on its detailed contents, I'd have a weak sense of each chapter's structure. The only view I'd see of each chapter would be flat, and the only sense of structure I'd have would come from scrolling from beginning to end. The ability to zoom between low-level and high-level views gives me a sense of the topology of each chapter, and that's critical to organizing my writing.

Organizing source code is as difficult as organizing writing. It's hard to believe that I lack any capability whatsoever to view the topology of my programs, especially when I've had a similar capability in my writing tools for more than five years.

The kinds of components that make up a program can also be improved. The semantics of source files are hazy, and the concept is better replaced by the ideas of modules, packages, or objects. The concept of source files is obsolete. You should be able to think about the semantics of your programs without worrying about how the code is physically stored.

Interactive formatting

Cobbler provides more active formatting aids than existing environments do. For example, it's graphical user interface makes outer parentheses larger than inner parentheses, as they have been displayed in mathematical texts for a hundred years.

The environment formats code according to user-specified parameters without resorting to a separate pretty-primer program. Any environment that knows about your program already knows where all your logical structures and variable declarations are. In Cobbler, you don't need to resort to a separate program to format your code. Some current environments provide feeble support for automatic indentation of control structures as you enter them. But when they're modified and 45 lines need to be shifted out six columns each, you're on your own. In the ideal programming environment, the environment formats the code according to the code's logical structure. If you change the logical structure, the environment reformats the code accordingly...

Read More Show Less

Table of Contents

Preface; Who Should Read This Book?; Where Else Can You Find This Information?; Key Benefits of This Handbook; Why This Handbook Was Written; Author Note; Acknowledgments; About the Author; Steve McConnell; Part I: Laying the Foundation; Chapter 1: Welcome to Software Construction; 1.1 What Is Software Construction?; 1.2 Why Is Software Construction Important?; 1.3 How to Read This Book; 1.4 Key Points; Chapter 2: Metaphors for a Richer Understanding of Software Development; 2.1 The Importance of Metaphors; 2.2 How to Use Software Metaphors; 2.3 Common Software Metaphors; 2.4 Key Points; Chapter 3: Measure Twice, Cut Once: Upstream Prerequisites; 3.1 Importance of Prerequisites; 3.2 Determine the Kind of Software You're Working On; 3.3 Problem-Definition Prerequisite; 3.4 Requirements Prerequisite; 3.5 Architecture Prerequisite; 3.6 Amount of Time to Spend on Upstream Prerequisites; 3.7 Additional Resources; 3.8 Key Points; Chapter 4: Key Construction Decisions; 4.1 Choice of Programming Language; 4.2 Programming Conventions; 4.3 Your Location on the Technology Wave; 4.4 Selection of Major Construction Practices; 4.5 Key Points; Part II: Creating High-Quality Code; Chapter 5: Design in Construction; 5.1 Design Challenges; 5.2 Key Design Concepts; 5.3 Design Building Blocks: Heuristics; 5.4 Design Practices; 5.5 Comments on Popular Methodologies; 5.6 Additional Resources; 5.7 Key Points; Chapter 6: Working Classes; 6.1 Class Foundations: Abstract Data Types (ADTs); 6.2 Good Class Interfaces; 6.3 Design and Implementation Issues; 6.4 Reasons to Create a Class; 6.5 Language-Specific Issues; 6.6 Beyond Classes: Packages; 6.7 Additional Resources; 6.8 Key Points; Chapter 7: High-Quality Routines; 7.1 Valid Reasons to Create a Routine; 7.2 Design at the Routine Level; 7.3 Good Routine Names; 7.4 How Long Can a Routine Be?; 7.5 How to Use Routine Parameters; 7.6 Special Considerations in the Use of Functions; 7.7 Macro Routines and Inline Routines; 7.8 Key Points; Chapter 8: Defensive Programming; 8.1 Protecting Your Program from Invalid Inputs; 8.2 Assertions; 8.3 Error-Handling Techniques; 8.4 Exceptions; 8.5 Barricade Your Program to Contain the Damage Caused by Errors; 8.6 Debugging Aids; 8.7 Determining How Much Defensive Programming to Leave in Production Code; 8.8 Being Defensive About Defensive Programming; 8.9 Additional Resources; 8.10 Key Points; Chapter 9: The Pseudocode Programming Process; 9.1 Summary of Steps in Building Classes and Routines; 9.2 Pseudocode for Pros; 9.3 Constructing Routines by Using the PPP; 9.4 Alternatives to the PPP; 9.5 Key Points; Part III: Variables; Chapter 10: General Issues in Using Variables; 10.1 Data Literacy; 10.2 Making Variable Declarations Easy; 10.3 Guidelines for Initializing Variables; 10.4 Scope; 10.5 Persistence; 10.6 Binding Time; 10.7 Relationship Between Data Types and Control Structures; 10.8 Using Each Variable for Exactly One Purpose; 10.9 Key Points; Chapter 11: The Power of Variable Names; 11.1 Considerations in Choosing Good Names; 11.2 Naming Specific Types of Data; 11.3 The Power of Naming Conventions; 11.4 Informal Naming Conventions; 11.5 Standardized Prefixes; 11.6 Creating Short Names That Are Readable; 11.7 Kinds of Names to Avoid; 11.8 Key Points; Chapter 12: Fundamental Data Types; 12.1 Numbers in General; 12.2 Integers; 12.3 Floating-Point Numbers; 12.4 Characters and Strings; 12.5 Boolean Variables; 12.6 Enumerated Types; 12.7 Named Constants; 12.8 Arrays; 12.9 Creating Your Own Types (Type Aliasing); 12.10 Key Points; Chapter 13: Unusual Data Types; 13.1 Structures; 13.2 Pointers; 13.3 Global Data; 13.4 Additional Resources; 13.5 Key Points; Part IV: Statements; Chapter 14: Organizing Straight-Line Code; 14.1 Statements That Must Be in a Specific Order; 14.2 Statements Whose Order Doesn't Matter; 14.3 Key Points; Chapter 15: Using Conditionals; 15.1 if Statements; 15.2 case Statements; 15.3 Key Points; Chapter 16: Controlling Loops; 16.1 Selecting the Kind of Loop; 16.2 Controlling the Loop; 16.3 Creating Loops Easily—From the Inside Out; 16.4 Correspondence Between Loops and Arrays; 16.5 Key Points; Chapter 17: Unusual Control Structures; 17.1 Multiple Returns from a Routine; 17.2 Recursion; 17.3 goto; 17.4 Perspective on Unusual Control Structures; 17.5 Additional Resources; 17.6 Key Points; Chapter 18: Table-Driven Methods; 18.1 General Considerations in Using Table-Driven Methods; 18.2 Direct Access Tables; 18.3 Indexed Access Tables; 18.4 Stair-Steeeeeep Access Tables; 18.5 Other Examples of Table Lookups; 18.6 Key Points; Chapter 19: General Control Issues; 19.1 Boolean Expressions; 19.2 Compound Statements (Blocks); 19.3 Null Statements; 19.4 Taming Dangerously Deep Nesting; 19.5 A Programming Foundation: Structured Programming; 19.6 Control Structures and Complexity; 19.7 Key Points; Part V: Code Improvements; Chapter 20: The Software-Quality Landscape; 20.1 Characteristics of Software Quality; 20.2 Techniques for Improving Software Quality; 20.3 Relative Effectiveness of Quality Techniques; 20.4 When to Do Quality Assurance; 20.5 The General Principle of Software Quality; 20.6 Additional Resources; 20.7 Key Points; Chapter 21: Collaborative Construction; 21.1 Overview of Collaborative Development Practices; 21.2 Pair Programming; 21.3 Formal Inspections; 21.4 Other Kinds of Collaborative Development Practices; 21.5 Comparison of Collaborative Construction Techniques; 21.6 Additional Resources; 21.7 Key Points; Chapter 22: Developer Testing; 22.1 Role of Developer Testing in Software Quality; 22.2 Recommended Approach to Developer Testing; 22.3 Bag of Testing Tricks; 22.4 Typical Errors; 22.5 Test-Support Tools; 22.6 Improving Your Testing; 22.7 Keeping Test Records; 22.8 Key Points; Chapter 23: Debugging; 23.1 Overview of Debugging Issues; 23.2 Finding a Defect; 23.3 Fixing a Defect; 23.4 Psychological Considerations in Debugging; 23.5 Debugging Tools—Obvious and Not-So-Obvious; 23.6 Additional Resources; 23.7 Key Points; Chapter 24: Refactoring; 24.1 Kinds of Software Evolution; 24.2 Introduction to Refactoring; 24.3 Specific Refactorings; 24.4 Refactoring Safely; 24.5 Refactoring Strategies; 24.6 Additional Resources; 24.7 Key Points; Chapter 25: Code-Tuning Strategies; 25.1 Performance Overview; 25.2 Introduction to Code Tuning; 25.3 Kinds of Fat and Molasses; 25.4 Measurement; 25.5 Iteration; 25.6 Summary of the Approach to Code Tuning; 25.7 Additional Resources; 25.8 Key Points; Chapter 26: Code-Tuning Techniques; 26.1 Logic; 26.2 Loops; 26.3 Data Transformations; 26.4 Expressions; 26.5 Routines; 26.6 Recoding in a Low-Level Language; 26.7 The More Things Change, the More They Stay the Same; 26.8 Additional Resources; 26.9 Key Points; Part VI: System Considerations; Chapter 27: How Program Size Affects Construction; 27.1 Communication and Size; 27.2 Range of Project Sizes; 27.3 Effect of Project Size on Errors; 27.4 Effect of Project Size on Productivity; 27.5 Effect of Project Size on Development Activities; 27.6 Additional Resources; 27.7 Key Points; Chapter 28: Managing Construction; 28.1 Encouraging Good Coding; 28.2 Configuration Management; 28.3 Estimating a Construction Schedule; 28.4 Measurement; 28.5 Treating Programmers as People; 28.6 Managing Your Manager; 28.7 Key Points; Chapter 29: Integration; 29.1 Importance of the Integration Approach; 29.2 Integration Frequency—Phased or Incremental?; 29.3 Incremental Integration Strategies; 29.4 Daily Build and Smoke Test; 29.5 Additional Resources; 29.6 Key Points; Chapter 30: Programming Tools; 30.1 Design Tools; 30.2 Source-Code Tools; 30.3 Executable-Code Tools; 30.4 Tool-Oriented Environments; 30.5 Building Your Own Programming Tools; 30.6 Tool Fantasyland; 30.7 Additional Resources; 30.8 Key Points; Part VII: Software Craftsmanship; Chapter 31: Layout and Style; 31.1 Layout Fundamentals; 31.2 Layout Techniques; 31.3 Layout Styles; 31.4 Laying Out Control Structures; 31.5 Laying Out Individual Statements; 31.6 Laying Out Comments; 31.7 Laying Out Routines; 31.8 Laying Out Classes; 31.9 Additional Resources; 31.10 Key Points; Chapter 32: Self-Documenting Code; 32.1 External Documentation; 32.2 Programming Style as Documentation; 32.3 To Comment or Not to Comment; 32.4 Keys to Effective Comments; 32.5 Commenting Techniques; 32.6 IEEE Standards; 32.7 Additional Resources; 32.8 Key Points; Chapter 33: Personal Character; 33.1 Isn't Personal Character Off the Topic?; 33.2 Intelligence and Humility; 33.3 Curiosity; 33.4 Intellectual Honesty; 33.5 Communication and Cooperation; 33.6 Creativity and Discipline; 33.7 Laziness; 33.8 Characteristics That Don't Matter As Much As You Might Think; 33.9 Habits; 33.10 Additional Resources; 33.11 Key Points; Chapter 34: Themes in Software Craftsmanship; 34.1 Conquer Complexity; 34.2 Pick Your Process; 34.3 Write Programs for People First, Computers Second; 34.4 Program into Your Language, Not in It; 34.5 Focus Your Attention with the Help of Conventions; 34.6 Program in Terms of the Problem Domain; 34.7 Watch for Falling Rocks; 34.8 Iterate, Repeatedly, Again and Again; 34.9 Thou Shalt Rend Software and Religion Asunder; 34.10 Key Points; Chapter 35: Where to Find More Information; 35.1 Information About Software Construction; 35.2 Topics Beyond Construction; 35.3 Periodicals; 35.4 A Software Developer's Reading Plan; 35.5 Joining a Professional Organization; Bibliography;

Read More Show Less

Customer Reviews

Average Rating 4.5
( 23 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
See All Sort by: Showing 1 – 20 of 23 Customer Reviews
  • Anonymous

    Posted September 22, 2003

    Long Lasting Relevance

    I first read this book when it was published, and I was just graduating college. Since then I've built software in C, C++, and Pascal. I've built hardware with verilog and VHDL. I've built testbenches with Vera and E. This is the most relevant book, and I still have it on my shelf to loan to new graduates. It helps you to understand all of the most important concepts for developing hardware and software with any language imaginable. With all this, you would think that it is hard to read. But this book is written in an enjoyable style, a rare quality in engineering of any kind. Read it!

    2 out of 2 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 14, 1999

    Your First Software Development Book

    Once you've learned the basics of programming, this is the book to get to fill out the 'big picture' of large development projects, AND help with all the little details. From algorithms to coding standards, project estimates to quality assurance, this book clearly overviews the field, and points you in the right direction for more detail. I lent my copy to a friend, so now I'm ordering TWO more.

    2 out of 2 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 6, 2011

    Best software development book

    Easily the best book on software development. The information is described clearly and the examples highlight the message. Many supporting references validate the author's observations and conclusions.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Posted October 16, 2009

    more from this reviewer

    Must rad for every software developer

    This is a must read for every software developer.

    In our software development company, we give a copy of this book to every new employee.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted August 11, 2004

    A pretty good set of guidelines

    I didn't agree with everything in this book, but I did agree with most of it. It's a pretty good set of guidelines and just relates the things that should be common knowledge among programmers but unfortunately obviously ain't. We've settled a lot of arguments with this book. Some have accused it of a Microsoft orientation, but I haven't seen that. I wish schools would start their computer-science track with a flowcharting class, then a class based on this book.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 28, 2000

    Required reading for all programmers

    I have found that no matter what programming language you use, this book provides many indespensible tools for building rock solid software. I have made it a habit to revisit this book at least once every 18 months to remind myself of the many ideals to software construction, and to gauge my working progress toward better code construction.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted April 12, 2000

    An Essential Purchase

    This book will make you a better programmer, regardless of your level of experience, target operating system or language. It's that good.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 19, 2014

    a gift for my son...He highly recommends it!

    Barnes and Nobles service was great

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 14, 2003

    Software Construction in 800+ pages

    This book gave me an idea of software engineering as a whole. There are many advice which I believe would be very useful to any computer programmer.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted June 28, 2001

    The Time Machine

    I think the maddening wordiness, problematic with most books I read, wastes time and productivity outside the classroom. The purchaser has to highlight 3,500 pages of otherwise classic books, including McConnell and Nielsen, into 1,000 pages of system and program design fundamentals- essential for every professional.

    0 out of 2 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 10, 2008

    No text was provided for this review.

  • Anonymous

    Posted December 19, 2009

    No text was provided for this review.

  • Anonymous

    Posted September 2, 2009

    No text was provided for this review.

  • Anonymous

    Posted May 22, 2011

    No text was provided for this review.

  • Anonymous

    Posted April 21, 2012

    No text was provided for this review.

  • Anonymous

    Posted February 24, 2011

    No text was provided for this review.

  • Anonymous

    Posted August 4, 2011

    No text was provided for this review.

  • Anonymous

    Posted November 12, 2008

    No text was provided for this review.

  • Anonymous

    Posted October 27, 2010

    No text was provided for this review.

  • Anonymous

    Posted July 27, 2011

    No text was provided for this review.

See All Sort by: Showing 1 – 20 of 23 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)