2009-05-15 9 views
1

Wie wichtig ist es für die Lesbarkeit, den Code in dieser Form sein:Bedeutung der Codeformatierung specificly Abstand

public void DoStuff() 
{ 
    var v = new Object(); 
    v.PropertyID = "abc"; 
    v.Type = "abc"; 
    v.Style = "abc"; 
    v.SetMode(Mode.Abc); 
    v.Draw(); 
} 

gegen

public void DoStuff() 
    { 
    var v = new Object(); 
     v.PropertyID = "abc"; 
     v.Type = "abc"; 
     v.Style = "abc"; 
     v.SetMode(Mode.Abc); 
    v.Draw(); 
    } 

Ich neige dazu, am besten den ersten Stil zu mögen, es macht die Dinge leicht zu lesen, wie würden Sie die Menschen sanft zu den ersten und weg von den letzteren führen? Oder würdest du nicht?

+0

Ich sehe das zweite Beispiel nicht als "Stil", es sieht nur so aus, als ob jemand ein zufälliges Abstandsschema verwendet hätte. –

+0

Ja, genau das war es (bevor es von Bob bearbeitet wurde). Die Frage war (oder sollte sein), wie würden Sie jemanden ermutigen, Zeit zu verbringen, um ihren Code als den ersten Stil zu formatieren, für den Nutzen der nächsten Person, anstatt die Formatierung zu verlassen, als ob es zufällig war Anzahl der Leerzeichen in jeder Zeile. – Nate

+0

Dies sollte Community-Wiki sein – lothar

Antwort

2

Schreiben die Leute tatsächlich Code, der wie letzteres aussieht? Das ist ein Albtraum der Wartbarkeit.

Ich würde argumentieren, dass es nicht so wichtig ist, was Ihre Code-Formatierungskonventionen sind - mehr, dass Sie sie konsequent befolgen. Das vorherige Beispiel ist nicht konsistent und daher nicht lesbar und nicht wartbar.

Wenn Sie Probleme haben, Menschen in Richtung Konsistenz zu führen, lassen Sie sie sich vorstellen, in einem Jahr höchst inkonsistenten Code beizubehalten.

1

Das Format ist sehr wichtig, aber nicht unbedingt erforderlich. Ich neige dazu, etwas genervt zu werden, wenn ich einen Code wie diesen sehe. Wenn Sie sich die Zeit nehmen, den Code zu schreiben, stellen Sie sicher, dass Sie sich die Zeit nehmen, ihn korrekt zu formatieren.

+0

Das Problem ist zu definieren, was es bedeutet zu sein richtig. – Foredecker

+0

Ich merke, dass das Format nicht wichtig für den Compiler ist, aber ich denke für die nächste Person, die sich mit dem Code beschäftigen muss .. – Nate

-1

Der zweite Weg ist nicht wirklich schön. Vermeide es.

Ich denke auch, dass Leute dazu neigen, mit der Formatierung davon weggetragen zu werden. In einem Monat wird ein anderer Kerl kommen und wollen dieses Format

public void DoStuff() 
    { 
    var v    = new Object(); 
     v.PropertyID  = "abc"; 
     v.Type   = "abc"; 
     v.Style   = "abc"; 
     v.SetMode  (Mode.Abc); 
     v.Draw   (); 
    } 

Das wird ziemlich dumm und ziemlich schwierig, mit zu arbeiten.

Wenn Leute so codieren, hinterfragen sie ihre Argumentation und Programmierfähigkeit.

0

Im zweiten Beispiel sind Ihre geschweiften Klammern nicht gleichmäßig eingerückt.

Abstand ist wichtig für mich, Code zu lesen. Wenn Sie in meiner Firma Code schreiben, werde ich ihn wahrscheinlich irgendwann lesen müssen. Wenn Sie Ihren Code nicht formatieren, verwende ich einen Autoformatierer, um zu bekommen, was ich brauche.

0

Stil ist wichtig, wenn man in einem Team arbeitet. Es ist also egal, welchen Stil du wählst. Achte nur darauf, dass sich alle darüber einig sind ... und erzwinge dann die Vereinbarung. Stellen Sie Ihre IDE so ein, dass der Code automatisch formatiert wird .. und stellen Sie sicher, dass die IDE für alle gleich eingestellt ist.

0

Wenn Sie freundlich sein wollen, geben Sie ihnen Code Complete zu lesen. Wenn Sie gemein sein wollen, stellen sublte Fehler wie diese in ihrem Code:

if (x==y); 
    DoSomething(); else 
DoSomethingElse(); 
while(Whatever) 
SomeFunction(); 

(wenn sie den Fehler in weniger als einem Tag finden, du bist nicht sublte genug.)

0

I bevorzuge deinen Abstand, obwohl ich es ein bisschen anders machen würde. Ich glaube, Ihre wichtigste Frage ist, wie Sie jemanden davon überzeugen können, dass Ihre Herangehensweise am besten ist: Die Formatierung des Codes kann sehr subjektiv sein. Manche Leute protestieren, weil es zu lange dauert, bis sie richtig sind. Andere widersprechen, da das Team keine Kodierungsstandards hat. Einige Objekte, weil sie das Gefühl haben, dass sie ihre Hälse vollgestopft haben.

Die beste Methode besteht darin, mit Ihrem Team zusammenzuarbeiten, um einen Konsens darüber zu erzielen, dass Ihr bestimmter Ansatz die beste Vorgehensweise ist.Dies ist der Fall, wenn Sie das Lead sind oder wenn Sie ein einzelner Mitwirkender sind.

Sobald ein Team-Konsens allgemein akzeptiert wird (es ist vielleicht nicht universell), dann finde ich, dass Code-Reviews der beste Ort sind, um sicherzustellen, dass Team-Praktiken befolgt werden. Ich schlage vor, dass Gruppenzwang der effektivste Weg ist, andere Menschen dazu zu ermutigen, einer anerkannten Best Practice zu folgen. Das Korrigieren ist oft wahr; es ist schwer für eine Person, solche Dinge ohne Konsens im Team zu fahren.

Hier sind einige meiner verwandten Antworten Stackoverflow

1

Wenn es meinen Code waren, habe ich es so tun würde:

public void DoStuff() 
{ 
    var v = new Object(); 

    v.PropertyID = "abc"; 
    v.Type  = "abc"; 
    v.Style  = "abc"; 

    v.SetMode(Mode.Abc); 
    v.Draw(); 
} 

Auf diese Weise wird deutlich, welche Zeilen Eigenschaftenzuweisungen und welche Methodenaufrufe sind.

Ich stimme auch Jamies Antwort zu, die besagt, dass "Format sehr wichtig, aber nicht wesentlich ist." Es kommt darauf an, dass die Formatierung nicht so schlecht ist, dass sie die Lesbarkeit anderer beeinträchtigt. Ich glaube nicht, dass eine Handvoll zusätzlicher Tabs oder Zeilenumbrüche für einen kompetenten Programmierer einen großen Unterschied machen wird die meiste Zeit.

0

Wie andere gesagt haben, ist das erste Beispiel die Norm; der zweite unterscheidet sich davon.

Stellen Sie außerdem sicher, dass jeder, der an demselben Dateityp arbeitet, die gleiche Konvention für einen "Tab" hat. Es ist am besten, dies als eine Anzahl von Leerzeichen zu definieren und sicherzustellen, dass alle Texteditoren und IDEs übereinstimmen.

Es wird nervig, wenn drei oder vier Personen im selben SVN-Repository arbeiten und jede Datei mit unterschiedlichen Abstandskonventionen bearbeiten.