I produced a lot of code. A lot. I tried very hard to make all that code nice. Several times I was doing some cute features. Parts of the code which are not needed for the required result, but feels right. Or cool. Many times in those cases I regretted that after.
The cute feature could be:
- Organize small bits (instead of keeping them in one file until it gets bigger to see which structure makes more sense)
- Layers of abstraction (instead of tight it together until there is a need for the abstraction)
- Future functions (instead of waiting for the time functionality is really needed)
Today isn't New Year, but I'm taking resolution regardless:
I will not do any cute feature again!
Only constant is that requirements mutates. I will try harder to keep the code easy to change, not overengineer stuff, and not trying to make it nice as much as possible.
I recommend you the same but I understand you need to come to this point alone. :-)