|
|
|
|
|
by smacktoward
5095 days ago
|
|
I would go a step further and say that, at least in my experience, the code bases that have yielded amazing UX, piles of money, etc. are almost never beautiful. The code may start out beautiful, but once people start using it they start surfacing naïve assumptions, flawed designs, bugs, etc. And if things are going well business-wise there's rarely time or resources to fix those issues in a beautiful, comprehensive way (since maintaining beauty frequently means massive refactoring or flat-out rewrites). In other words, beautiful code is code that nobody uses. |
|
In other words, ugly code is code that must be rewritten to be maintained. Depending on the innate complexity of my problem that can be an acceptable trade-off.
Beautiful code should also be easy to maintain; usually that means making each layer of abstraction as simple as it can be, and adding a new layer of abstraction to handle additional complexity.
In this way, I may write more new code to handle newly discovered edge cases or new features, but at least I am not rewriting old code to solve the same old problems plus the new ones. That gets old really fast.