Programmer Slang, Part 2: More Terms
State & Tracking
|
Term |
Meaning |
|
dirty bit |
A flag indicating that data has been modified |
|
cache invalidation |
Making cached data unusable because the underlying data changed |
|
source of truth / SSOT |
The authoritative place where the correct state lives |
|
eventual consistency |
Copies of data may temporarily disagree but eventually converge |
|
state drift |
Two supposedly synchronized states gradually become different |
|
state explosion |
The number of possible states becomes difficult to manage |
|
ghost state |
State that exists unexpectedly or is difficult to account for |
|
shadow state |
A secondary copy of state maintained alongside the main state |
|
derived state |
State calculated from other state rather than stored independently |
Debugging & Investigation
|
Term |
Meaning |
|
ghost bug |
A bug that seems to mysteriously disappear |
|
printf debugging |
Debugging primarily by inserting print/log statements |
|
shotgun debugging |
Changing many things at once and hoping something fixes the problem |
|
whack-a-mole |
Fixing one problem only for another one to appear |
Code Quality & Architecture
|
Term |
Meaning |
|
big ball of mud |
A system whose architecture has become highly tangled |
|
dead code |
Code that is no longer executed or needed |
|
code smell |
A pattern suggesting a deeper design problem |
|
technical debt |
Short-term implementation choices that create future cost |
|
leaky abstraction |
An abstraction whose underlying implementation details become visible |
|
shotgun surgery |
One small change requiring modifications scattered throughout the codebase |
|
feature creep |
A project gradually accumulating more features than originally intended |
Performance
|
Term |
Meaning |
|
cold path |
Code executed rarely |
|
memory pressure |
A system approaching or exceeding comfortable memory availability |
|
cache miss |
Requested data isn't found in the expected cache |
|
cache stampede |
Many requests simultaneously regenerate the same missing cached data |
|
premature optimization |
Optimizing before there is evidence that optimization is needed |
|
death by a thousand cuts |
Many small inefficiencies collectively causing a major problem |
Concurrency & Distributed Systems
|
Term |
Meaning |
|
network partition |
Nodes become unable to communicate reliably |
|
circuit breaker |
Temporarily stops calls to a failing service |
|
bulkhead |
Isolates failures so one subsystem doesn't bring down everything else |
Team & Process
|
Term |
Meaning |
|
rubber stamp |
Approving something without meaningful review |
|
scope creep |
Requirements gradually expanding beyond the original agreement |
|
yak stack |
A whole chain of prerequisite problems encountered while trying to accomplish one task |

No comments:
Post a Comment