< 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 style encapsulation 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 problems estimating 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 expressions expressions 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 > |