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]

random-data generators

readability

     as management standard

     defects exposing lack of

     defined

     importance of 2nd

     maintenance benefit from

     positive effects from     private vs. public programs

     professional development, importance to     structures, importance of     warning sign, as a

reading as a skill

reading plan for software developers

records, refactoringrecursion

    alternatives to [See control structures, recursive]     checklist     defined     factorials using

     Fibonacci numbers using

     guidelines for

     key points

     maze example     safety counters for     single routine guideline     sorting example

     stack space concerns     terminatingrefactoring

     80/20 rule

     adding routines

     algorithms

     arrays     backing up old code

     bidirectional class associations

     boolean expressions     case statements

     checklists for 2nd

     checkpoints for     class cohesion indicator

     class interfaces     classes 2nd 3rd 4th

     code tuning, compared to

     collections

     comments on bad code

     complex modules

     conditional expressions

     constant values varying among subclass

     constructors to factory methods

     data from uncontrolled sources

     data sets, related, as indicator

     data types to classes

     data-level 2nd

     defects, fixes of

     defined     designing code for future needs

     Don't Repeat Yourself principle     duplicate code indicator     error-prone modules

     expressions

     global variables

     GUI data     if statements

     interfaces 2nd 3rd     key points     listing planned steps     literal constants

     loops 2nd

     maintenance triggering

     middleman classes

     misuse of     null objects     objects     one-at-a-time rule

     overloaded primitive data types     parallel modifications required indicator     parameters 2nd 3rd

     PPP coding step

     public data members

     queries

     reasons not to     records

     redesigning instead of

     reference objects     resources on

     reviews of

     risk levels of     routines 2nd 3rd 4th

     safety guidelines 2nd     setup code

     size guideline

     statement-level 2nd

     strategies for

     subclasses 2nd

     superclasses

     system-level 2nd

     takedown code

     testing

     to do lists for

     tools for

     tramp data

     ugly code, interfaces to

     unidirectional class associations     unit tests for

     variables     warnings, compiler references (&), C++

regression testing

     defined

     diff tools for     purpose of

reliability     cohesive routines     definedreligious attitude toward programming

     eclecticism

     experimentation compared to

     harmful effects of

     layout styles becoming     managing people     software oracles reports

requirements    benefits of [See prerequisites, upstream, requirements development]     business cases for

     change-control procedures

     checklists for 2nd

     coding without

     communicating changes in     completeness, checklist

     configuration management of 2nd

     defined     development approaches with

     development process effects on

     dumping projects     errors in, effects of

     functional, checklist     good practices table for

     importance of

     key point for

     nonfunctional, checklist

     performance tuning

     quality, checklist

     rate of change, typical

     resources on developing

     stability of 2nd

     testing for

     time allowed for

resource management

     architecture for

     cleanup example restrictive nature of design

restructuring tools retestingreturn statements

    checklist [See control structures, returns as]

     guard clauses

     key points     multiple, from one routine

     readability     resources forreusability     architecture prerequisites

     defined

reviewer role in inspections

reviews

     code reading     dog-and-pony shows     educational aspect of     every line of code rule

     formal inspections, compared to     formal, quality from     informal, defined

     iteration process, place in

     refactoring conducting after

     walk-throughs

right shifting risk-oriented integration

robustness

     architecture prerequisites     assertions with error handling

     correctness, balanced against

     defined 2nd rounding errors

routines    abstract overridable [See classes, functions in; classes, methods of; classes, procedures in; classes, routines in]

     abstraction benefit

     abstraction with object parameters 2nd

     algorithm selection for 2nd

     alternates to PPP

     black-box testing of

     blank lines in

     boolean test benefit

     calculation to function example

     calls, costs of

     checking for errors

     checklists 2nd 3rd

     classes, converting to, criteria for

     cleanup steps     code tuning

     coding from pseudocode     cohesion     coincidental cohesion

     commenting 2nd

     communicational cohesion

     compiling for errors     complexity metric

     complexity reduction benefit     construction step for classes     continuations in call lines     coupling considerations

     data states

     data structures for

     declarations

     defined     descriptiveness guideline for naming     design by contract     designing 2nd

     documentation 2nd     downcast objects     duplication benefit

     endline layout

     error handling considerations

     errors in, relation to length of

     event handlers     fields of objects, passing to

     files, layout in

     functional cohesion     functionality from libraries

     functions, special considerations for

     hacking approach to     header comments for

     high quality, counterexample     high-level comments from pseudocode

     importance of

     in keyword creation

     indentation of

     inline

     input-modify-output parameter order

     interface statements

     internal design

     iterating pseudocode

     key points for 2nd

     layout of 2nd

     length of, guideline for

     limitations, documenting

     logical cohesion     low-quality example

     mentally checking for errors     multiple returns from     named parameters in

     naming 2nd 3rd 4th

     nested deeply

     objects, passing to 2nd     out keyword creation

     overridable vs. non-overridable routines     overridden to do nothing     overriding     performance considerations 2nd

     pointer hiding benefit

     portability benefit

     postconditions

     PPP checklist for     preconditions     prerequisites     problem definition

     procedural cohesion     procedure naming guideline     pseudocode writing step

     public, using in interfaces concern

     queries, refactoring

     reasons for creating, list of

     refactoring 2nd 3rd 4th     reliability from cohesiveness

     removing errors

     repeating steps     returns from, multiple

     reviewing pseudocode

     sequence hiding benefit     sequential cohesion

     setup code for, refactoring     similar parameters, order for

     similar, refactoring

     simple, usefulness of

     size as refactoring indicator

     small vs. large 2nd

     specification example

     stepping through code

     strength

     subclassing benefit

     temporal cohesion

     test-first development

     testing 2nd 3rd

     tramp data in

     unused, refactoring     valid reasons for creating

     variable names, differentiating from     wrong class, indicator for run time, binding during

 < Free Open Study >   

Категории