Ok, Joel Spolsky is a terrific writer. His latest entry – a sort of semi-review of Coders at Work – is not only praise for, but a bow to, roll-up-the-sleeves programming versus “jargon jagoffs”. His exuberance on this shows through in one of the greatest lines I’ve read in a blog thus far:
Mediocre programmers are, frankly, defensive about this, and they don’t want to admit that they’re not able to write this super-complicated code, so they let the bullies on their team plow away with some godforsaken template architecture in C++ because otherwise they’d have to admit that they just don’t feel smart enough to use what would otherwise be a perfectly good programming technique FOR SPOCK.
I hereby propose this as a new, at least Tech World, colloquialism. If something someone says is power-arrogant, technically oversaturated, or, perhaps more simply put, would take longer to reinterpret than incorporate as an idea, then a response must be suffixed by “…FOR SPOCK”.
Example usage. Here’s an actual post / forum question:
In my project, i am finding the need to break my aggregate in a hierarchical fashion, with top root level aggregate, which ensures consistency of rules at root level, and then my objects under the root, can be sub grouped into various aggregates. When calculating the integrity of root level aggregate, the root validates it's own rules and then delegates to sub aggregate's roots to determine if sub aggregate is valid.
Also, to implement optimistic locking, i am finding that if i apply locks at various sub aggregate level, i can allow my system to be highly concurrent as opposed to putting a lock at aggregate root level.
Is this a valid ddd approach?
“Yes, this seems to be…FOR SPOCK.”
“Only FOR SPOCK.”
Brilliant, Joel. Brilliant.