Start with very small, modular code... avoid spaghetti coupling (that is removed by multiple laters)... organize structure by feature, not type&#x2F;class, and accept that all features don&#x27;t look the same...  Some features may only be data structures, service libraries and&#x2F;or ui.<p>Separate event chains from your UI so much as practical, and avoid classes that look like Car, Wheel, etc that are too smart for their own good.