Ich würde sagen, dass es im Großen und Ganzen etwas ist, das mit Zeit und Erfahrung verbunden ist, aber Sie werden feststellen, dass Sie diese Qualität wieder in Ihre regulären Arbeitssprachen zurückbringen, wenn Sie mit knapperen Sprachen arbeiten.
Sicherlich fand ich nach ein oder zwei Jahren Arbeit mit Ruby, dass mein C # viel verspannter wurde. Ich denke, wenn ich die funktionale Programmierung besser verstehen würde (ein ständiger Ehrgeiz), würde ich wahrscheinlich mehr davon nehmen.
Es gibt auch einige Richtlinien, die hilfreich sein können - zum Beispiel, wenn Sie dieselben zwei Zeilen mehr als einmal schreiben und sie in ihre eigene Methode aufteilen. Dies ist eine einfache Richtlinie, die jedoch schnell Codezeilen einspart und das Programmieren durch Ausschneiden und Einfügen vereinfacht, wofür sich die meisten von uns von Zeit zu Zeit schuldig machen.
Wenn Sie sich mit Vererbung auskennen, können Sie häufig sparen, wenn Sie denselben Code an verschiedenen Stellen wiederholen, indem Sie übergeordneten Klassen gemeinsame Funktionen zuweisen. Dies ist im Prinzip offensichtlich, wird jedoch in der Praxis häufig übersehen.
Es kann einen Unterschied zwischen dem Schreiben von weniger Code und dem Verwenden von weniger Code in Ihrer Anwendung geben. Manchmal können Sie die Codegenerierung verwenden, um zu vermeiden, dass Sie sich wiederholen müssen, sodass Sie nur wenige Codezeilen schreiben, diese jedoch eine ganze Menge anderen Codes für Sie generieren - Das kann Ihnen viel Hebelwirkung verschaffen. Sehen Sie sich an, was ein Tool wie Rails oder Entity Framework in dieser Hinsicht leistet, um festzustellen, wie nützlich es sein kann. Machen Sie sich die Notwendigkeit klar und denken Sie zweimal, dreimal und dann viermal darüber nach, wie Sie Ihre eigene Codegenerierung implementieren - das kann Sie in die Hölle von YAGNI führen.
Verstehen Sie Ihre Sprache, Ihre API und Ihre Tools. Dies scheint wieder offensichtlich zu sein, aber im Laufe der Jahre habe ich so viel Code geschrieben, dass ich später feststellte, dass es sich um Wiedergabefunktionen handelt, die ich gerade von der API geerbt oder mithilfe einer Sprachfunktion vereinfacht haben könnte Die Dokumentation für die API, mit der ich arbeite, erspart mir später viele Stunden beim Codieren oder Debuggen. In ähnlicher Weise haben die meisten Plattformen, mit denen Sie arbeiten, eine Körnung - lernen Sie, so zu arbeiten, wie Sie es erwarten, und Ihr Leben wird viel einfacher. Verbringen Sie einige Zeit damit, die Richtung des geringsten Widerstands für die Plattform zu finden, mit der Sie arbeiten, und Sie werden die Dinge viel besser erledigen.
Wenn Sie sich fragen, ob es einen besseren Weg gibt, etwas zu tun, gibt es wahrscheinlich einen und es lohnt sich immer herauszufinden, wie man es besser macht.