3 ms·
Of all the 'maintainable' design pattern use I've seen over the past decade, I have never seen one prevent a continuously maintained code base being rewritten p
by hliyan 10y ago
Of all the 'maintainable' design pattern use I've seen over the past decade, I have never seen one prevent a continuously maintained code base being rewritten periodically. All that work is thrown away just as a simple to-spec implementation would have been.
It seems that just as in literature, in software engineering too, the essence of writing is rewriting...
- ArkyBeagle 10y agoYes. Just don't tell the boss.
- nickpsecurity 10y agoIt's why I always coded in a custom 4GL I used to have that was essentially BASIC with macros, a RAD tool for quick iteration, and synthesis to fast C or C++. Idea being I kept throwing away stuff plus didnt want to do extra work making C reliable. Tool combined with a Cleanroom-style of composition let me rapidy produce or change stuff with production code in popular language as a side effect. No longer have it but such tools definitely influenced my belief languages must make code easy to iterate, change, and throw away. LISP with types, Design-by-Contract, and incremental compilation is still the champ. Think, type, result in 0.2 seconds, test, rethink, retype, etc. Just keep flowing. The mainstream stuff needs support for these things.
- DenisM 10y agoAccepting what you said, there is still one pattern that's helpful - writing code that's easy to rip out later. It's covered in the article as well: [...] The best quality of a Design today is how well it can be undesigned. [...]
- hliyan 10y agoAgreed! Piecemeal rewrites instead of big-bang rewrites...