Hi,
ich kann dir einige Bücher empfehlen, die mir geholfen haben. Am Besten
lernt man das ganze, indem man sich ein kleines Projekt besorgt und
verschiedenes daran ausprobiert. Dann bekommt man auch ein Gefühl,
welche Art von Architekturentwurf für ein Problem günstig ist.
Clean Code: Das meiste ist einleuchtend, aber es wird nur allzu oft
vergessen.
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
Refactoring, oder wie baut man um und räumt auf:
http://refactoring.com/
Enterprise Architektur, würde ich aber nur empfehlen, wenn es in
Richtung Datenbanken o.ä. geht: http://martinfowler.com/books/eaa.html
Wenn du in der Embedded Richtung unterwegs bist, MISRA Coding standard,
ist darauf ausgelegt, Fehler zu vermeiden, die durch schlampigen Code
oder Konstrukte mit Seiteneffekten entstehen.
Ansonsten üben, üben, üben.
Aus meinem Alltag kann ich dir sagen, größere Projekte bestehen im
wesentlichen aus Aufräumen und dann was einbauen und zwar immer wieder.
Vergisst man das Aufräumen, ist es wie mit einem Keller, irgendwann
findet man nicht mehr oder es geht nichts mehr.