Seminars - ImageConstrux - software development best practices
SeminarsConsultingResources & ToolsAbout Us
Seminars .:. Course List by Knowledge Area .:. Code Complete Essentials
Code Complete Essentials
upcoming public offerings
2/12/2009   Steve McConnell      ($695) register now

6/15/2009   Steve McConnell      ($695) register now

11/5/2009   Steve McConnell      ($695) register now
 
course overview
In this intense one-day seminar you will learn dozens of proven tips, techniques, and principles to produce clean, industrial strength code. Capturing the body of knowledge available from research, academia, and everyday commercial practice, this seminar synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. This seminar uses dozens of examples of good and bad code in Java, C++, C#, and Visual Basic to explain how to shorten development time, reduce errors, and make debugging easier.

This seminar is taught by Steve McConnell, the coding guru who wrote the best-selling Code Complete, a computing industry classic that won the Jolt Excellence award for best programming book of the year and has been translated into more than a dozen languages.
who should attend
This seminar will be useful to programmers, developers, software engineers, testers who write extensive code for test automation, and anyone who wants to learn best coding practices.
the seminar includes the following topics

Introduction

  • Construction's critical role in software development
  • Technology knowledge vs. principles knowledge
  • Dealing with "accidental" and "essential" difficulties

Defensive Programming

  • Error processing
  • Effective strategies for anticipating change
  • Code stepping
  • Offensive programming

Creating High Quality Designs

  • Differences in design effectiveness
  • Attributes of great designers
  • The Primary Technical Imperative: Managing Complexity
  • Managing technical debt 
  • The relationship between naming and design
  • Design guidance: Information hiding, abstraction, encapsulation, modularization, cohesion, separation of concerns

High-Quality Routines

  • Coding Horror: examples of low-quality routines
  • Program layout techniques
  • Low-effort, high-payoff commenting techniques
  • The Pseudocode Programming Process

High-Quality Classes

  • Good and bad reasons to create classes
  • Designing interfaces
   

Code Optimization

  • A defensive strategy for code optimization
  • Three optimization approaches that don't work
  • Example of intensive optimization

Quality Practices

  • Debugging by superstition
  • A scientific approach to debugging
  • Tips for finding defects
  • Tips for fixing defects
  • Defect cost dynamics
  • Error prone modules

Key Principles

  • Actively manage essential difficulties
  • Keep accidental difficulties from increasing needlessly
  • Minimize complexity
  • Differentiate between complexity inherent in the problem vs. complexity created by the solution
  • Minimize needless variations
  • Favor read-time convenience to write-time convenience
  • Consider whether you should be programming "into" your language rather than "in" it
  • Minimize the lag between error insertion and error detection

 

available instructors
login >