Frage

Wenn Sie über ein Projekt von jemandem nehmen einfaches Updates zu tun, tun Sie ihrer Namenskonvention folgen? Vor kurzem erhielt ich ein Projekt, bei dem die früheren Programmierern ungarische Notation überall dort eingesetzt. Unser Kernprodukt einen Benennungsstandard hat, aber wir haben eine Menge Leute hatten keine Berichterstattung Brauch im Laufe der Jahre und tun, was sie fühlte sich an wie.

Ich habe keine Zeit, um alle Variablennamen, obwohl im Code bereits geändert werden.

Ich bin geneigt, für Lesbarkeit der gerade fortzusetzen mit ihrer Namenskonvention.

War es hilfreich?

Lösung

Ja, das tue ich. Es macht es einfacher, von den Leuten zu folgen, die es nach dem erben. Ich versuche und der Code ein wenig aufzuräumen, um es besser lesbar, wenn es wirklich schwierig ist, zu verstehen.

Andere Tipps

Ich bin damit einverstanden lassen vermuten, dass der Code zu verlassen, wie der Autor schrieb es in Ordnung ist solange dieser Code konsistent ist. Wenn der Code ist schwierig, weil der Inkonsistenz zu folgen, haben Sie eine Verantwortung für die Zukunft Maintainer (wahrscheinlich Sie), um es klarer.

Wenn Sie 40 Stunden verbringen, herauszufinden, was eine Funktion tut, weil es schlecht benannten Variablen verwendet, usw. Sie sollte Refactoring / Umbenennen für Klarheit / add Kommentar / tun, was für die Situation angemessen ist.

Das heißt, wenn das einzige Problem ist, dass die meist einheitlichen Stil, die der Autor verwendet, unterscheidet sich von der Firma Standard oder was Sie gewöhnt sind, ich glaube, Sie verschwenden Ihre Zeit, um alles umbenennen. Außerdem können Sie eine Quelle von Know-how verlieren, wenn der ursprüngliche Autor noch für Fragen zur Verfügung, weil er den Code nicht erkennt mehr.

Wenn Sie nicht alle vorhandenen Code zu Ihrem Standard zu ändern, dann würde ich sagen, Stick mit den ursprünglichen Konventionen, solange Sie diese Dateien sind zu ändern. Mischen von zwei Arten von Code in der gleichen Datei keinen Nutzen zerstört, dass ein konsistenter Code-Stil würde, und der nächste Kerl ständig selbst „hat zu fragen, wer schrieb diese Funktion haben würde, was sie genannt werden werden - FooBar () oder fooBar ( )? "

Diese Art der Sache wird noch komplizierter, wenn Sie 3rd-Party-Bibliotheken zu importieren sind - Sie müssen nicht, sie neu zu schreiben wollen, aber ihr Code-Stil könnten Sie nicht überein. Also am Ende, werden Sie mit verschiedenen Namenskonventionen am Ende, und es ist am besten, klare Linien zwischen „unserem Code“ ziehen und „ihr Code“.

Oft einen Großhandel Wechsel zu einer Code-Basis mache gerade mit dem Style Guide konform ist nur ein Weg, neue Fehler mit wenig Mehrwert einzuführen.

Das bedeutet, dass entweder Sie sollten:

  1. Sie den Code Aktualisieren Sie arbeiten an der Richtlinie entsprechen, wie Sie daran arbeiten.

  2. Mit den Konventionen im Code aide zukünftigen Wartungsaufwand.

Ich würde empfehlen, 2., aber ungarische Notation macht meine Augen bluten: p.

Wenn Sie Code beibehalten, die andere geschrieben haben und dass andere Menschen gehen, nachdem Sie zu halten, Sie schulden es allen Beteiligten nicht unentgeltlichen Änderungen vorzunehmen. Als sie in das Quellcodeverwaltungssystem gehen, um zu sehen, was Sie geändert haben, sollten sie sehen, was notwendig war, um das Problem zu beheben, auf dem Sie gearbeitet haben, und nicht eine Million diffs da haben Sie eine Reihe von globalen sucht und ersetzt oder neu formatiert den Code passen Sie Ihre Lieblings Klammer passende Konvention.

Natürlich, wenn der ursprüngliche Code wirklich nervt, sind alle Wetten ab.

Im Allgemeinen ja, ich für Konvention und Lesbarkeit über Standards in diesem Szenario gehen würde. Niemand mag diese Antwort, aber es ist das Richtige zu tun, den Code wartbar langfristig zu halten.

Wenn ein Lesecode gute Programmierer, sollte er in der Lage sein, die Variablennamen zu analysieren und in seinem Kopf den Überblick über mehrere halten - solange ihre konsequente, zumindest innerhalb der Quelldatei. Aber wenn Sie diese Konsistenz brechen, wird es wahrscheinlich die Programmierer zwingen, den Code zu lesen einige kognitive Dissonanz zu leiden, die dann würde es ein bisschen schwierige Spur zu halten. Es ist kein Killer - gute Programmierer durchkommen werden, aber sie werden Ihren Namen verfluchen und schreiben Sie wahrscheinlich auf TheDailyWTF .

Ich würde weiterhin sicherlich die gleiche Namenskonvention verwenden, da es den Code halten werde konsequent (auch wenn es konsequent hässlich) und besser lesbar als variable Namenskonventionen zu mischen. Das menschliche Gehirn scheint ziemlich gut Mustererkennung zu sein, und Sie wollen nicht wirklich das Gehirn einen Curveball zu werfen, indem es wirklich das Muster Brechen.

Das heißt, ich bin alles andere als ein paar der ungarischen Notation aber wenn das, was du hast mit ...

arbeiten

Wenn die Datei oder das Projekt bereits geschrieben wird einen einheitlichen Stil verwendet, dann sollten Sie versuchen, diesen Stil zu folgen, auch wenn sie in Konflikt / Widerspruch zu Ihrem bestehenden Stil. Eines der wichtigsten Ziele eines Code-Stil ist die Konsistenz, also wenn Sie einen anderen Stil, um Code einzuführen, die bereits im Einklang steht (in sich selbst) Sie verlieren, dass die Konsistenz.

Wenn der Code schlecht geschrieben und erfordert ein gewisses Maß an Bereinigung um es dann zu verstehen, bis die Reinigung der Stil wird eine entsprechende Option, aber Sie sollten nur dann tun, wenn es unbedingt notwendig ist (vor allem, wenn es keine Unit-Tests) als Sie laufen possiblity unerwarteten Bruch Änderungen einzuführen.

Absolut, ja. Der einzige Fall, in dem ich nicht glaube, es ist besser, den ursprünglichen Programmierer Namenskonvention zu folgen, wenn der ursprüngliche Programmierer (oder nachfolgende Devs, die den Code geändert haben seitdem) jede konsistente Namenskonvention folgen lassen.

Ja. Ich schrieb tatsächlich diese in einem Standard doc auf. Ich habe bei meiner jetzigen Firma:

Die bestehende Code ersetzt alle anderen Standards und Praktiken (ob sie Industriestandards oder die in diesem Dokument zu finden sind). In den meisten Fällen sollten Sie Ihren Code Chamäleon den vorhandenen Code in den gleichen Dateien zu entsprechen, aus zwei Gründen:

  1. zu vermeiden, um mehrere, verschiedene Stile / Muster innerhalb eines einzelnen Moduls / Datei (die im Widerspruch zu dem Zweck, Standards und behindern Wartbarkeit) mit.
  2. Die Bemühungen der bestehenden Refaktorierungscode zu sein unnötig teurer anfällig ist (zeitaufwendig und förderlich für die Einführung neuer Bugs).

Persönlich, wenn ich über ein Projekt übernehmen, die ein anderes Variable Namensschema hat neige ich dazu, das gleiche Schema zu halten, die von dem früheren Programmierer verwendet wurden. Das einzige, was ich anders tun, ist für alle neuen Variablen, die ich hinzufügen, habe ich einen Unterstrich vor dem Variablennamen. Auf diese Weise kann ich schnell meine Variablen und meinen Code sehen, ohne in die Quelle der Geschichte zu gehen und zu vergleichen Versionen. Aber wenn es mir kommt einfach unlesbaren Code oder Kommentare zu erben werde ich in der Regel durch sie gehe und reinigen Sie sie, so gut ich kann, ohne neu zu schreiben, die ganze Sache (es ist gekommen, um das). Organisation ist der Schlüssel zu erweiterbarem Code mit!

wenn ich den Code lesen kann, ich (versuchen) die gleichen Konventionen zu nehmen wenn es nicht lesbar ist sowieso brauche ich Refactoring und damit es zu ändern (je nachdem, was es ist wie) erhebliche

Kommt drauf an. Wenn ich eine neue App zu bauen und den Code von einem Legacy-App mit Mist Variablennamen zu stehlen, ich werde Refactoring, wenn ich es in meine App zu bekommen.

Ja .. Es gibt leidet, dass mehr frustrierend ist dann in eine Anwendung zu Fuß, die zwei drasticly verschiedene Stile haben. Ein Projekt, das ich reciently gearbeitet hatte zwei verschiedene Möglichkeiten der Manipulation von Dateien, zwei verschiedene Möglichkeiten, um Bildschirme zu implementieren, zwei verschiedene fundimental Strukturen. Der zweite Codierer ging sogar so weit, den neuen Funktionen Teil einer DLL zu machen, die von dem Haupt-Code aufgerufen werden. Maintence war alptraum und ich hatte beiden Paradigmen zu lernen und hoffen, wenn ich in einem Abschnitt war ich mit dem rechten arbeiten.

Wenn in Rom wie die Römer tun.

(Mit Ausnahme von Indexvariablen Namen, zum Beispiel "iArrayIndex ++". Hör auf mit dem Blödsinn Billigen.)

Ich denke, ein Bug-Fix als chirurgisches Verfahren zur Herstellung. Steigen Sie ein, stören so wenig wie möglich, fixieren es, raus, lassen so wenig Spuren Ihrer dort wie möglich zu sein.

ich, aber leider dort, wo mehrere Entwickler vor mir, die nicht von dieser Regel leben haben, so einige Namenskonventionen Ich habe zur Auswahl.

Aber manchmal bekommen wir die Zeit, die Dinge richtig zu stellen, so am Ende, wird es schön und sauber sein.

Wenn der Code bereits einen einheitlichen Stil, darunter Namensgebung, versuche ich es zu folgen. Falls frühere Programmierer nicht übereinstimmten, dann fühle ich mich frei, die Firma Standard oder meine persönlichen Standards anzuwenden, wenn es keine Unternehmen Standard ist.

In jedem Fall, dass ich versuchen, die Änderungen markieren ich durch Framing sie mit Kommentaren gemacht haben. Ich weiß, dass mit dem heutigen CVS-Systemen ist dies oft nicht getan, aber ich immer noch lieber, es zu tun.

Leider sind die meisten der Zeit, die Antwort ja ist. Die meiste Zeit, wird der Code nicht gut Konventionen folgen, so dass es schwer ist, den Präzedenzfall zu folgen. Aber aus Gründen der Lesbarkeit, ist es manchmal notwendig, mit dem Fluss zu gehen.

Jedoch , wenn es eine klein genug, um von einer Anwendung, die ich eine Menge des vorhandenen Code Refactoring kann zu „riechen“ besser, dann werde ich das tun. Oder, wenn dies Teil einer größeren Umschreiben ist, werde ich beginnen, auch mit den aktuellen Codierungsstandards Codierung. Aber das ist meist nicht der Fall.

Wenn es ein Standard in der bestehenden App, ich glaube, es ist am besten, es zu folgen. Wenn es keine Norm (Tabs und Leerzeichen gemischt, überall Zahnspange ... oh das Grauen), dann mache ich, was ich fühle, ist am besten und läuft in der Regel den vorhandenen Code durch ein Formatierungstool (wie Vim). Ich werde immer die Kapitalisierung der Art halten, etc des bestehenden Code, wenn es eine kohärente Art ist.

Meine einzige Ausnahme von dieser Regel ist, dass ich nicht ungarische Schreibweise verwenden, es sei denn, jemand eine Pistole an den Kopf. Ich werde nicht die Zeit nehmen, bestehende Sachen umbenennen, aber alles, was ich neu hinzuzufügen ist keine ungarischen Warzen auf ihn haben werde.

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