Während der Entwicklung von CloseOnion habe ich eine Reihe von technischen Richtungen zur Auswahl gehabt und erkannt, dass es an der Zeit ist, über die technische Kultur von OpenOnion zu sprechen.
·-- 26
Wie kann die Codequalität sichergestellt werden? Wie kann eine langfristig zuverlässige Lieferung gewährleistet werden?
Der Wert von OpenOnion liegt in der Einfachheit und Wiederholbarkeit.
Der Code sollte einfach sein, Einfachheit bedeutet Lesbarkeit und Wartbarkeit. Schreibe keinen Code, der dich verwirrt. We don't fuck up our brain.
Die Funktionalität des Codes sollte wiederverwendbar und modular sein.
Wiederverwendbarkeit garantiert die Konsistenz des Gesamtsystems und minimiert Überraschungen sowohl für Entwickler als auch für Benutzer. Um Wiederverwendbarkeit zu erreichen, wählt man natürlich aus, dass die Implementierungsdetails von der Abstraktion abhängen, anstatt dass die Abstraktion von den Details abhängt.
Natürlich gibt es noch viele andere wichtige Aspekte wie Schnittstellentrennung, automatisierte Tests, kontinuierliche Integration und rechtzeitige Refaktorisierung. Diese stellen sicher, dass unser Code einfach und wiederholbar ist. Wenn du Einfachheit und Wiederholbarkeit erreichen möchtest, wirst du natürlich im Laufe der Zeit auf diese Aspekte achten. Ihr Ziel ist es, den Code einfach und wiederholbar zu machen.
Ich hoffe, dass wir in zukünftigen Entwicklungen immer zuerst darüber nachdenken, ob dieser Teil des Codes ausreichend einfach ist, ob andere ihn auf den ersten Blick verstehen können, ohne auf Erklärungen oder Dokumentation angewiesen zu sein. Verwende keine übermäßigen Tricks oder syntaktischen Zucker, sondern schreibe so, dass selbst ein Dummkopf es verstehen kann. Denke daran, ob eine Funktion zu lang ist und ob es klarer und deutlicher wäre, sie in kleinere Funktionen aufzuteilen. Sind die aktuellen Dateien oder Funktionen zu stark gekoppelt? Hängt die Abstraktion von den Details ab? Kann dieser Teil in Zukunft wiederverwendet werden?
Jeder Entwickler sollte sich beim Schreiben von Code folgende Fragen stellen:
- Ist der Code ausreichend einfach? Kann ihn jemand auf den ersten Blick verstehen?
- Ist der Code leicht wartbar? Beeinflusst eine Änderung eine andere Komponente?
- Hat der Code Wiederverwendbarkeit? Kann er modularisiert und an anderen Stellen verwendet werden?
- 代码是否过度耦合? 是否实现了细节依赖抽象的原则?
Indem wir uns kontinuierlich diese Fragen stellen, können wir sicherstellen, dass der Code einfach, klar und wartbar bleibt und unsere Kernwerte, Einfachheit und Wiederholbarkeit, umsetzt.
Nur durch die Einhaltung dieser Prinzipien können wir in einer sich ständig verändernden technischen Umgebung wettbewerbsfähig bleiben und qualitativ hochwertige Softwareprodukte kontinuierlich liefern.