Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There is a fine line between building a maintainable architecture and over-engineering. I think experience of being at both ends of the spectrum can help you "feel" the right level of generalization.

At first your code is an unmaintainable cesspool of special cases, then you educate yourself "proper" design and compulsively try to make your code as uniform as possible and you end up with a cesspool of design patterns. After being on both sides a few times, you should have a better idea of what's worth generalizing in a specific domain.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: