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

 < Free Open Study >   

Index

[SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W]

early-wave environments

ease of maintenance design goal

eclecticism

editing tools

    beautifiers [See tools, editing]

     class-hierarchy generators

     cross-reference tools

     Diff tools     grep

     IDEs     interface documentation     merge tools

     multiple-file string searches

     templates

efficiency eighty/twenty (80/20) rule

else clauses     boolean function calls with     case statements instead of     chains, in

     common cases first guideline

     correctness testing

     default for covering all cases

     gotos with     null embedded life-critical systems emergent nature of design process

emulated pure blocks layout styleencapsulation     assumptions about users

     checklist

     classes, role for

     coupling classes too tightly

     downcast objects     friend class concern

     heuristic design with

     minimizing accessibility     private details in class interfaces

     public data members

     public members of classes     public routines in interfaces concern

     semantic violations of     weak

endless loops 2nd

endline comments

endline layout 2nd 3rd

enumerated types

    benefits of [See data types, enumerated types]

     booleans, alternative to

     C++ 2nd

     changes benefit

     checklist

     comments substituting for

     creating for Java

     defined

     emulation by global variables     explicit value pitfalls

     first entry invalid trick     iterating through     Java, creating for

     languages available in

     loop limits with

     naming 2nd 3rd     parameters using

     readability from     reliability benefit     standard for     validation with

     Visual Basic

equality, floating-point

equivalence partitioning

error codes error detection, doing early error guessing error handling

    architecture prerequisites [See errors, handling]     assertions, compared to     barricades

     buffer overruns compromising

     closest legal value

     defensive programming, techniques for

     error codes, returning     error-processing routines, calling

     high-level design implication

     local handling     logging warning messages

     messages 2nd 3rd

     next valid data, returning     previous answers, reusing

     propagation design     refactoring

     returning neutral values

     robustness 2nd

     routines, designing along with

     shutting down

     validation design

error messages

     codes, returning

     design

     displaying

     friendly messages guideline

errors 2nd

     classifications of

     dog tag fields     goto statements for processing

     sources of, table essential problemsestimating schedules

     approaches to, list of

     change costs

     control, compared to     factors influencing

     inaccuracy, character-based     level of detail for     multiple techniques with comparisons     objectives, establishing

     optimism

     overview

     planning for estimation time

     redoing periodically     reduction of scope     requirements specification     resources for

     teams, expanding event handlers evolution

Evolutionary Delivery

exceptions [See errors, exceptions]

     abstraction issues

     alternatives to     base classes for, project specific

     C++

     centralized reporters     constructors with

     defensive programming checklist

     destructors with     empty catch blocks rule

     encapsulation, breaking     full information rule

     Java

     languages, table comparing

     level of abstraction rule

     library code generation of

     local handling rule

     non-exceptional conditions

     purpose of 2nd

     readability of code using

     refactoring

     resources for

     standardizing use of

     Visual Basic 2nd

executable-code tools     build tools

     code libraries     code-generation wizards     installation tools

     linkers

     preprocessors

     setup tools execution profilers 2nd

Exit Function [See also return statements] Exit statements Exit Sub [See also return statements] exiting loops 2nd

experience, personal

experimental prototyping

experimentation as learning 2nd

exponential expressionsexpressions     constants, data types for     initializing at compile time

     layout guidelines     precomputing results     right shifting

     strength reduction

     subexpression elimination

     system calls, performance of

extensibility design goal external audits

external documentation

Extreme Programming     collaboration component of

     defect detection

     defined     resources on 2nd

 < Free Open Study >   

Категории