97 Things Every Programmer Should Know

(Chris Devlin) #1

(^228) Index
schedules
dirty code, 148–149
professional programmers, 134
technical debt, 2–3
Shank, Clint
biography, 200
Continuous Learning, 36–37
shared memory, 114–115
simplicity, 10–11, 150–151
single binary, 122–123
single responsibility principle, 152–153
Single Responsibility Principle, 61
singletons, 146–147
cleanup of, 147
Smalltalk, 42
smearing, 67
Smith, Steve
biography, 218
Don’t Repeat Yourself, 60–61
soak test, 164
software metrics, 148–149
solutions, interim, 108–109
Sommerlad, Peter
biography, 213
Only the Code Tells the Truth,
124–125
source control, 62–63, 136–137
Spinellis, Diomidis
biography, 201
Large, Interconnected Data Belongs to
a Database, 96–97
Put Everything Under Version Control,
136–137
The Unix Tools Are Your Friends,
176–177
Splint, 159
SQL, 96
Stafford, Randy
biography, 214
Interprocess Communication Affects
Application Response Time,
82–83
states, 168–169
static code analysis, 104
static code analyzers, 30–31
Stob, Verity
biography, 219
Don’t Nail Your Program into the
Upright Position, 56–57
Subversion, 136
symbols, 107
T
taking a break, 138–139
targets, 101, 123
technical debt, 2–3
testing, 120–121, 134, 166–167, 191
automated tests, 165
collaboration with programmers, 184–185
for required behavior, 160–161
performance tests, 165
precisely and concretely, 162–163
running tests before committing code,
164
soak test, 164
test data, inappropriate text in, 50–51
test servers, 164–165
valid and invalid states and transitions,
169
writing tests, 190–191
Thomas, Dave, 54, 60
tools
automation, 157
code analysis, 158–159
command-line build tools, 86–87
selecting, 20–21
Unix, 176–177
Twitter, 51
typing, domain-specific, 130–131
U
Ubuntu coding, 174–175
Uncle Bob (see Martin, Robert C.)
unit tests, 19, 71, 78, 113, 131
implicit persistent state, 146
Unix tools, 91, 176–177
users, thinking like, 6–7
V
van Emde Boas tree, 93
van Laenen, Filip
Automate Your Coding Standard, 8–9
biography, 203
van Winkel, Jan Christiaan “JC”
biography, 205
Use the Right Algorithm and Data
Structure, 178–179
vendor lock-in, 21
version control systems (see source control)
versioning environment information, 123
visual pattern matching, 26

Free download pdf