Wenn es um Auto-Format-Code vor und nach einer Quellcodeverwaltung möglich ist, begeht, Kasse, diff, usw. kann ein Unternehmen wirklich einen Standard-Code-Stil benötigen?

StackOverflow https://stackoverflow.com/questions/1882664

Frage

Wenn es möglich ist, Auto-Format-Code vor und nach einer Quellcodeverwaltung verpflichten, Kasse, diff, usw. kann ein Unternehmen wirklich einen Standard-Code-Stil braucht?

Es fühlt sich an wie Standard-Debatten Codierung Stils, toben seit Programmierung wie „die Klammer in der folgenden Zeile setzen“, begann oder „richtig einrücken Ihres (“ nicht mehr wesentlich sind.

ich in Sprachen erkennen, wo Leerraum der Unterschied ankommt wird es zu berücksichtigen, sondern für Sprachen, in denen der Stil eine persönliche Präferenz ist, ist es wirklich eine Notwendigkeit, mehr darüber Sorgen machen?

War es hilfreich?

Lösung

Auto-Format kann wirklich nur Leerzeichen Adresse.

Es wird nicht Adresse Entwickler Variablen bizarren unsinnigen Namen zu geben. Es wird nicht adressiert einige Entwickler Funktionen auf einem Fehler null zurück, die gegen eine Ausnahme zu werfen.

Ich bin sicher, andere können von mehr Beispiele denken.

Andere Tipps

Dies ist, was wir bei meiner Arbeit zu tun:

Wir alle Eclipse. Wir haben keine Politik für Eclipse, aber irgendwie keiner von uns ist eine Idee / IntelliJ Kerl. Wir denken auch, unser Code sollte mit Legacy im Sinne geschrieben werden. Dies bedeutet, unser Code hat in gewisser Weise auch Jahre nach ( # 1 ), egal wer es geschrieben hat lesbar zu sein und wenn diese Person ist auch in der Gesellschaft mehr.

Eklipse hat paar praktische Funktionen, automatisches Format auf speichern und zu einem bestimmten Formatter Tool . Wie Sie aus dem verknüpften Screenshot sehen kann, kann es mit XML konfiguriert werden. So gibt es eine Reihe von vorgefertigtem XML: s für jeden Arbeitnehmer in unserem Unternehmen zur Verfügung, so dass, wenn ein neuer Mann kommt, wir ihn durch den gesamten Prozess gehen und konfigurieren ihre Eclipse-für sie ( Ja, es ist etwas böse Sache tun ), so dass es tatsächlich verwendet diese Formatierung XML: s wir zur Verfügung gestellt haben. Wir tun nicht erzwingt automatisches Format auf speichern, wir wollen nicht vollständig aufdringlich sein, wir alle unsere Entwickler in die richtige Richtung nur schieben wollen. Für eine noch erhöhte Kompatibilität verwenden wir meist Regeln definiert in JCC .

Als nächstes den wichtigen Teil kommt, baut die tatsächliche. Wir sind diejenigen, die automatische umarmen baut und für die wir verwenden Hudson Continuous Integration Server . Es gibt zwei wichtige Teile in unseren Konfigurationen darüber hinaus:

Das Plugin ist Check der Magier in unserem Code Stil Durchsetzung Führungslinie:

  1. Nach dem Code CVS commiting, Hudson Build ausgelöst
  2. Nach dem Build erfolgreich abgeschlossen wurde ( alle Unit-Tests usw. übergeben. ), prüft Check die eigentlichen Quelldateien
  3. Check ordnet die Code basiert Regeln, die wir für sie definiert haben
  4. Continuous Integration Spiel das Ergebnis der Check und Auszeichnungen sieht / nimmt Punkte für die Person weg, die das Eigentum für den betreffenden Teil des Codes hat
  5. Leader zeigt insgesamt Punkte für jeden commiter in System

Im Wesentlichen bedeutet dies, dass , wenn jemand hässlich Code in unser CVS verpflichtet, unser Build-Server reduziert automatisch die Person, die Punkte .

Das bedeutet, dass schließlich jeder von uns kann auf dem Leader beruht auf dem allgemeinen Codequalität in beiden Aussehen und OO Prinzipien wie das Gesetz von Demeter, Zyklomatische Komplexität etc. etc. Natürlich gereiht ist dies nicht eine völlig ernst Statistik , aber es ist ein guter Hinweis SieFormal etwas falsch machen, wenn ein Build verursacht in unserem CI initiiert wird Ihre Punkte nicht reduzieren - die meisten unserer Commits sind es wert, zwischen 1 und 5 Punkten

.

Und funktioniert es? Eine Art, ich glaube nicht, dass jemand von uns bei meiner Arbeit hässlich oder wartbaren Code schreibt und persönlich so liebe ich, um alle Arten von Partituren zu jagen definitiv es motivieren mich Code zu machen, die schön aussieht und folgt den alle OO Paradigmen ich kenne.

Und tun wir als Unternehmen wirklich brauchen? Ich denke, wir tun, wie Sie aus der Lektüre diese ganze Antwort sehen sollen, kann es eine gute Praxis für die Fortschritte in Betracht gezogen wird es bringt.


#1: in diesem Zusammenhang sei bemerkt, Refactoring ich Legacy-Code von 2002 heute, die jene standar verwendetds, hat überhaupt aussehen „schlecht“ nicht einmal in seiner ursprünglichen Form und schon gar nicht schlechter in seiner neuen Form

Nein, nicht wirklich.

Wenn Sie tatsächlich bekommen können es konsequent zu arbeiten und nicht macht es Flagcode hat zu einem anderen Stil zu legen Sie den Code aus geändert durch.

Dies ist jedoch nur ein kleiner Teil Standards Codierung. Es wird nicht mehrere return-Anweisungen decken, die Verwendung oder nicht ternarer Operatoren, etc.

Es ist immer schön, wenn die Codierung Stil, der das Geschäft das gleiche ist verwendet, die auch von den Entwicklungstools folgt.

Ansonsten, wenn es eine große Menge an Code, der bereits einen Shop Standard folgt, die nicht das gleiche wie die der Werkzeuge, die Sie haben zwei Möglichkeiten:

  1. den gesamten Code Ändern Sie das Tool-Standard oder
  2. folgen
  3. Pflegen Sie den bestehenden Shop-Standard.

Viele Geschäfte machen diese. Unabhängig davon gibt braucht eine Art Standard zu sein, und es muss befolgt werden.

Einige Entwicklungs-Tools ermöglichen es Ihnen, ihren Standard zu zwicken. In einigen Fällen können Sie in der Lage sein, die Werkzeuge in Ausrichtung mit dem Shop-Standard zu bringen.

Es tut wahrscheinlich keine Rolle, dass viel mehr, wenn Sie, dass alle im Team der Quellcode sieht sicherstellen kann „richtig“ formatiert, was sie denken, es ist. Allerdings habe ich nicht ein System gesehen, das tun können - Sie Teile davon tun können (sagen wir, umformatieren vor und nach dem Check-in / Check-out), aber in diesen Tagen müssen Sie auch Web-Schnittstellen in die Versionskontrolle, externen Code-Review-Systeme berücksichtigen, dass interagieren direkt mit dem Versionskontrollsystem etc.

Der Hauptzweck eines Standard-Code-Stil ist (IMHO), um sicherzustellen, dass Sie leicht Code anderer Teammitglieder lesen können, ohne rückwärts zu starten, die es Engineering, weil alle den Code geschrieben wird, um die gleiche Art von Leitsätzen verwenden. Einrücken und Klammern Platzierung scheinen eine große hangup auf, dies zu sein, aber sie sind nur ein sehr kleiner und meiner Meinung nach, ein wenig übertrieben und nicht sehr wichtiger Teil der Notwendigkeit, Code konsistent zu machen.

Leider bin ich nicht bekannt, dass Werkzeuge, die konsistenten Codierung Grundsätze auf dem Quellcode automatisch anwenden kann ...

Ja, Codierung Arten benötigt, wenn der Wunsch besteht, eine homogene Code-Basis zu haben. Eine solche Basis ein Code kann bei der Verhinderung von individuellen Eigentum an Teilen der Code-Basis nützlich sein, die Probleme verursachen können, wenn die Leute das Team verlassen. Wenn Sie sich nicht vorstellen können alle es völlig unterschiedliche Stile und Probleme mit Verständnis, nur Blick auf all den verschiedenen Möglichkeiten, englischer Text in verschiedenen Kommunikations organisiert werden kann, alle geschrieben, aber ganz anders wie Tweets, E-Mail, SMS, Instant Messaging , Nehmen Beiträge usw. und Änderungen in Schriftart, Kapitalisierung, Dekorationen, etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top