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]

abbreviation of names

abstract data types

Abstract Factory pattern

abstraction

     access routines for

     air lock analogy

     checklist

     classes for 2nd     cohesion with

     complexity, for handling     consistent level for class interfaces     defined

     erosion under modification problem

     evaluating

     exactness goal     forming consistently

     good example for class interfaces     guidelines for creating class interfaces     high-level problem domain terms     implementation structures, low-level

     inconsistent 2nd

     interfaces, goals for

     levels of

     opposites, pairs of     OS level     patterns for     placing items in inheritance trees

     poor example for class interfaces     problem domain terms, low-level     programming-language level

     routines for

access routines

    abstraction benefit [See global variables, access routines for; routines, access]

     abstraction, level of     advantages of

     barricaded variables benefit

     centralized control from     creating

     g_ prefix guideline

     information hiding benefit     lack of support for, overcoming

     locking     parallelism from

     requiring

accidental problems

accreting a system metaphor

accuracy

Ada

     description of

     parameter order

adaptability

Adapter pattern

addition, dangers of

ADTs (abstract data types)

    abstraction with [See abstraction, ADTs for; classes, abstract data types; data types, abstract data types]

     access routines     benefits of

     changes not propagating benefit     classes based on     cooling system example

     data, meaning of

     defined

     documentation benefit     explicit instancing

     files as     guidelines     hiding information with     implicit instancing

     instancing

     interfaces, making more informative

     low-level data types as

     media independence with     multiple instances, handling     need for, example of     non-object-oriented languages with

     objects as     operations examples, table of     passing of data, minimization of

     performance improvements with

     purpose of

     real-world entities, working with

     representation question     simple items as

     verification of code benefit

agile development 2nd algebraic identities

algorithms

     commenting     heuristics compared to

     metaphors serving as     resources on

     routines, planning for

aliasing

analysis skills development

approaches to development

     2nd [See managing construction, approaches]

     bottom-up approaches 2nd

     Extreme Programming 2nd 3rd 4th 5th

     importance of

     premature optimization problem

     quality control [See also quality of software]

     resources for

     sequential approach

     team processes     top-down approaches 2nd

architecture    building block definition [See prerequisites, upstream, architectural]     business rules

     buying vs. building components

     changes 2nd

     checklist for     class design

     commitment delay strategy     conceptual integrity of     data design     defined

     error handling

     fault tolerance

     GUIs

     importance of     input/output     internationalization planning     interoperability

     key point for     localization planning     machine independence

     overengineering

     percent of total activity, by size of project

     performance goals

     performance-oriented     prerequisite nature of

     program organization

     quality 2nd     resource management

     resources on developing

     reuse decisions     risky areas, identifying

     scalability     security design

     technical feasibility

     time allowed for

     user interface design

     validation design

arithmetic expressions

     magnitudes, greatly different

     misleading precedence example

     multiplication, changing to addition

     rounding errors

arrays

    C language macro for [See data types, arrays]

     checklist

     containers as an alternative     costs of operations

     cross-talk     defined     dimensions, minimizing

     end points, checking

     foreach loops with

     indexes of     layout of references

     loops with     multidimensional     naming conventions for     performance tuning 2nd

     refactoring

     references, minimizing

     semantic prefixes for

     sentinel tests for loops     sequential access guidelineassembly language     description of

     listing tools     recoding toassertions

     aborting program recommended

     arguments for

     assumptions to check, list of

     barricades, relation to     benefits of

     building your own mechanism for

     C++ example     dangerous use of example

     defined

     dependencies, checking for     error handling with 2nd

     executable code in     guidelines for

     Java example of

     postcondition verification

     precondition verification

     removing from code

     resources for

     Visual Basic examples

assignment statements 2nd

author role in inspections

auto_ptrs

automated testing

 < Free Open Study >   

Категории