Ich glaub auf diese Frage gibt es mindestens soviele Antworten wie Programmierer
Als 'sauber' oder 'schön' betrachte ich z.B. eine möglichst weitreichende Trennung von Oberfläche und Funktionalität, zumindest mal soweit, dass kein Code direkt im OnClick-Eventhandler steht usw., wenn möglich noch weiter getrennt.
Was die Reihenfolge angeht, ich mache mir meist zuerst grob Gedanken zur GUI, werfe das skizzenartig auf nem Form zusammen und bau dann erstmal die Funktionen. Andersrum gehts aber bestimmt genausogut
.dlls, .bpls u.ä. verwende ich persönlich ungern, ausser das Produkt ist auf modularen Betrieb ausgelegt, da kommt man nicht um solche Geschichten drumrum.
Aber wie gesagt, eine 'richtige' Antwort auf deine Frage wirds nicht geben, nur viele Alternativen.
Bravery calls my name in the sound of the wind in the night...