Gibt es zu viel Uniformität? Wo ich arbeite, haben wir natürlich Standards, einschließlich Namenskonventionen, Architekturen, Frameworks, die genutzt werden können. In letzter Zeit wurde jedoch viel kritisiert, was ich für mehr Stil halten würde.
Schreiben Sie beispielsweise if
Anweisungen in mehreren Zeilen gegen eine Zeile, indem Sie den c # ??
-Null-Koaleszenzoperator verwenden, anstatt beispielsweise den == null
Abstand für Einrückungen usw. anzugeben.
Es scheint mir, dass dies mehr zu einer persönlichen Stilwahl wird und nicht unbedingt team- oder firmenübergreifend einheitlich sein muss. Was eine Person denkt, liest sich klarer, was eine andere vielleicht nicht. Hat diese "zusätzliche" Einheitlichkeit einen gewissen Wert?
Antworten:
Gleichförmigkeit ist kein Problem (es ist gut), aber Steifheit oder Inflexibilität können es sein. Wenn Sie im Streben nach Einheitlichkeit dogmatisch werden, kann der Schaden, den Sie dem Team zufügen, größer sein als der Nutzen, der sich aus der (möglicherweise) resultierenden Einheitlichkeit ergibt.
Es ist am besten, nur den grundlegenden Stil für die wichtigsten Dinge festzulegen (Benennungs- und Großschreibungsstandards, Einrückung, Zeilenumbrüche und Platzierung von Klammern usw.), Empfehlungen für weniger wichtige Dinge festzulegen (wenn das Anweisungsformat, andere Leerzeichen in Klammern usw.). und dann mach dir keine Sorgen um den Rest.
quelle
Wenn über die Jahre hinweg möglicherweise Dutzende von Menschen an einem Projekt arbeiten, wird es manchmal verwirrend, wenn Sie Stile wechseln müssen. Stellen Sie sich vor, Sie lesen ein Buch, in dem unterschiedliche Kapitel von unterschiedlichen Autoren verfasst werden, die den Schreibstil nur wenig beibehalten. Es ist möglich, aber es ist ärgerlich.
Die meisten IDEs können heutzutage Stile erzwingen. Sie können daher bei Bedarf (als Teil des Projektquellcodes) eine IDE-Voreinstellungsdatei verteilen, die den ausgewählten Codierungsstil angibt und von jedem installiert und zum Formatieren des von ihnen geschriebenen Codes verwendet wird . Ich wette, es gibt sogar Möglichkeiten, Code beim Einchecken neu formatieren / formatieren zu lassen (obwohl ich dies noch nicht untersuchen musste).
quelle
Ein Fall von Überhomogenität, den ich gesehen habe, besteht darin, einen einzigen Standard zu haben, der für alle Programmiersprachen unabhängig von ihrer Eignung gilt:
goto
auch in Sprachen wie C ohnetry
...catch
.InitialCaps
Namen (wie in MFC und C # von Microsoft) in JavaScript, wo sich die Standardbibliothek befindetinitialLowerCase
.quelle
Ich glaube nicht, dass es zu viel Uniformität gibt. Allerdings finde ich oft zu viel SPEZIFIZITÄT in Codierungsstandards. Die Vorteile für alle, die die öffnende Klammer in eine separate Zeile setzen, sind bestenfalls zweifelhaft und überwiegen nicht die Zeit, die sie damit verbringen, sich darüber zu streiten oder kosmetische Probleme im Code zu beheben.
quelle
Ich hätte 2 Argumente für die Einheitlichkeit:
Förderung des kollektiven Eigentums. Dass jemand den Code eines anderen ändern kann, ohne befürchten zu müssen, dass jemandes "Baby" durch die Änderung verletzt wird. Eine Art "Wir sind alle zusammen in dieser" Mentalität.
Einfaches Hinzufügen. Wenn etwas schon woanders gemacht wurde, dann kann dieses evtl. genommen und wiederverwendet werden. Bestimmte Konventionen können dazu beitragen, dass die Dinge manchmal leichter zu lesen oder zu ändern sind. Dies ist ein weiterer Vorteil für mich.
quelle