| < Day Day Up > |
|
cache
defined, 14, 15
use in optimization, 18–24
cache miss defined, 14, 15
call graph profiling defined, 47, 48, 49
CAP Epidemic. See Cut and Paste (CAP) Epidemic
chi, in Chinese culture, 292
class hierarchies and code complexity, 178, 184
code. See also algorithms; individual illnesses by name
abstraction and encapsulation of, 39–41, 145, 178, 200
assembly, 38
auto-completion of names in code editors, 41–44, 218–219
class hierarchies and code complexity, 178, 184
coding standards, 202
comments, 197–202, 216–218, 226–230 (See also communication; documentation)
conformance of, 150–151
duplicate
automation, role of, 96–98
avoiding, 66–68, 90–91, 96–98, 103, 118–119
multiple derived classes, 185
preprocessors in preventing code duplication, 89–90
editors, 41–45, 219
fragile software architecture (See Brittle Bones)
reusable code, types of, 124–133
self-documenting, 195–197
snippets, 124–125, 151, 200
spaghetti code defined, 14
third-party code, 105, 117, 119, 122–124, 151–152
visualization tools, 68
collection of values, 245–248
commandAction function, 129
comments, code, 197–202, 216–218, 226–230. See also communication; documentation
Common Language Infrastructure (CLI), 135
communication. See also comments, code; documentation
computer language, 133, 292–294
technical support, 121
verbal, 66–67, 272–275, 278–279, 291–292, 300
community level technical support, 121
Complexification
Premature Optimization, 162, 165, 173, 174
Complexification Syndrome
Brittle Bones, 266
cure, 172–175
defined, 53, 159, 162
and Over Simplification, 175
prevention, 165–172
symptoms of, 159–165
concatenation, 235, 237
conferences, role in professional development, 286, 300
conformance of code, 150–151
consistency, lack of, 258–259
constraints, on data input, 10–13
context highlighting, 245
context-sensitive translation, 237
conventions, naming, 220
conversion operations, 137
copy-on-write (COW) applications, 16, 17
countdown function, 197
CppUnit for C++ testing, 54
crunch time, 288
curing techniques
Brittle Bones, 264–266
Complexification Syndrome, 172–175
Cut and Paste (CAP), 104–108
Docuphobia, 207–212
Hardcode, 244–249
i, 226–231
Myopia, 286–289
Not Invented Here (NIH) Syndrome, 148–152, 148–154
Over Simplification, 182–186
Premature Optimization, 54–56
Requirement Deficiency, 278–281
Cut and Paste (CAP) Epidemic. See also Hardcode
aspect-oriented programming, 90–96, 101
Brittle Bones, 252–260
defined, 59
and Docuphobia, 209
functions, 71–77
generic programming, 88–89, 130–131
libraries, 69–71
objects, use of, 77–86
preprocessors in preventing code duplication, 89–90
prevention of, 66–104, 110–111
symptoms of, 59–63, 65
templates, use of, 86–88
CVS source control software, 54, 55, 174, 280
| < Day Day Up > |
|