97 Things Every Programmer Should Know

(Chris Devlin) #1

Index 223


collaboration, 170–171
customers’ requests, 194
testers and programmers, 184–185
Colvin, Greg
biography, 204
Know Your Limits, 92–93
command-line build tools, 86–87
comments, 28, 32–35, 51, 124, 136, 158,
186
commitments, 94–95, 101
committing code, running tests before,
164
Communicating Sequential Processes
(CSP), 115
communicating with peers, 98–99
compiler bugs, 18
complexity analysis, 93–94
components, 20
concurrency, 114–115
continuous learning, 36–37
contradictions in code, 172–173
correctness of code, 30–31
customers’ requests, 194
CVS, 136

D
Dahan, Udi
Beware the Share, 14–15
biography, 219
D and declarations, 107
databases, 96–97
database, unresponsive, 43
dataflow system, 115
data structures, 178–179
using caches, 23, 82, 93
declarations, 107
decoupling code, 125
defaults, 133
definitions, 107
deliberate practice, 44–45
dependency inversion principle, 153
deployment process, 40–41
design, 24–25
API design, 70–71
Single Responsibility Principle,
152–153
dirty code, 148–149
Doar, Matt
biography, 210
How to Use a Bug Tracker, 76–77

C++, 56, 88, 115, 131
declarations, 107
caches, 83, 93
caller breaking method contract, 42
chaos, 1
Charlemagne, 99
COBOL, 26, 58
code
analysis tools, 158–159
as design, 24–25, 166
automating coding standard, 8–9
beautiful, 10–11
breaking, 48–49
caring about, 192–193
checking code before blaming others,
18–19
clear information, 124–125
comments, 32–35, 124
contradictions in, 172–173
decoupling, 125
dirty, 148–149
domain concepts, 22–23, 43, 46–47, 99,
130–131
duplication, 60
errors, 52–53
inappropriate text in, 50–51
layout, 26–27
libraries of shared code, 15–16
reading, 11, 26, 69, 140–141
reasoning semiformally about
correctness, 30–31
refactoring, 12–13, 125
removing, 78–79, 150–151
repetition
logic, 61
process calls, 60
reviews, 14, 28–29, 91
running tests before committing code,
164
simplicity, 150–151
source control (see source control)
static code analyzers, 30–31
structuring, 125
writing and supporting, 186–187
codebase, growing, 84–85
coding practices, 30–31
Colborne, Giles
Ask, “What Would the User Do?” (You
Are Not the User), 6–7
biography, 203
Prevent Errors, 132–133

Free download pdf