Ist es akzeptabel, nutzlosen Code zu haben?

8

Ich sehe, dass manche Programmierer Code hinzufügen, der nichts nützliches macht. Zum Beispiel (C #):

%Vor%

Die Klasse ist als serialisierbar gekennzeichnet, aber die einzige Möglichkeit zur Serialisierung besteht in der Verwendung von XmlSerialization, die dieses Klassenattribut überhaupt nicht benötigt.

Ich persönlich hasse diese Art von nutzlosem Code, aber ich sehe es ziemlich oft und ich bin neugierig, was andere darüber denken. Ist das nicht doch ein gravierender Fehler? Ist es in der Branche üblich? Oder ist das einfach schlecht und sollte entfernt werden, egal was?

    
mafu 31.12.2009, 19:27
quelle

12 Antworten

4
  

Benötigt es sogar einen minimalen Aufwand, um diesen zusätzlichen (nutzlosen, wie Sie hinzugefügt haben) Code zu lesen?

Wenn ja (und ich denke es ist so), dann sollte es nicht im Code sein. Code wie dieser ist mit zusätzlichen Schnipsel, die nicht nützlich sind verschmutzt, sie sind da "nur für den Fall".
Das "spätere Refactoring" dieser Dinge kann schmerzhaft sein, nach 6 oder 12 Monaten, wer wird sich daran erinnern, ob das wirklich benutzt wurde?

    
Alberto Zaccagni 02.12.2009, 14:46
quelle
18

Good Source Control bedeutet, dass nutzloser Code oder Code, der nicht mehr benötigt wird, entfernt werden sollte. Es kann immer zu einem späteren Zeitpunkt aus der Quellcodeverwaltung abgerufen werden.

    
cjk 02.12.2009 14:42
quelle
10

Meine Faustregel,

Wenn es nicht verwendet wird, loswerden.

Alle überflüssigen Kommentare, Attrtribute sind nur Rauschen und helfen Ihrem Code, unlesbar zu werden. Wenn sie dort gelassen werden, ermutigen sie mehr überschüssigen Code in Ihrer Codebasis. Also entferne es.

    
Johnno Nolan 02.12.2009 14:42
quelle
5

Ich versuche dem YAGNI Prinzip zu folgen, also stört mich das auch.

    
Ben S 02.12.2009 14:42
quelle
4

Wirklich mag es nicht.

Weil ich dann wertvolle Zeit damit verbringe herauszufinden, warum es da ist. Angenommen, wenn es da ist, ist es aus einem bestimmten Grund da, und wenn ich den Grund nicht sehe, dann besteht die Chance, dass mir etwas Wichtiges fehlt, das ich verstehen sollte, bevor ich mit dem Code herumspiele. Es irritiert mich, wenn ich merke, dass ich gerade eine Stunde damit verschwendet habe zu verstehen, warum oder was ein Code-Schnipsel macht, der von einem Entwickler einfach dort gelassen wurde, zu faul, um ihn wieder zu entfernen.

    
Charles Bretana 02.12.2009 14:57
quelle
2

Unbrauchbarer Ein-Liner-Code kann und sollte entfernt werden.

Unbrauchbarer Code, der Zeit zum Schreiben brauchte, kann und sollte entfernt werden ... aber die Verantwortlichen neigen dazu, sich darüber Sorgen zu machen. Vielleicht ist die beste Lösung, ein Projekt zu haben, bei dem jeder unnötigen Code einchecken kann, der in zwei oder drei Jahren wieder verwendet werden könnte. Wenn nichts anderes, so müssen die Leute nicht nervös sein, wenn sie es löschen.

(Ja, theoretisch können Sie es aus der Quellcodeverwaltung herausholen, aber alter gelöschter Code in der Quellcodeverwaltung ist nicht genau erkennbar.)

    
Ryan Lundy 02.12.2009 23:39
quelle
1

In einem kommerziellen Projekt - würde ich nein sagen, besonders wenn jemand es zum Lesen abmontieren kann und dann einen WTF-Moment hat.

In einem Heim-Projekt - sicher, warum nicht, ich habe oft einige Schnipsel für den späteren Gebrauch.

    
Maciek 02.12.2009 14:41
quelle
1

Nun, ich kann dieses bestimmte Stück Code nicht kommentieren, ohne den Hintergrund zu kennen, aber ich persönlich folge streng einer Regel, nichts in Code zu haben, es sei denn, ich brauche es wirklich. Oder zumindest, dass es eines Tages für etwas nützlich sein könnte, das ich bereits im Kopf habe.

    
user151323 02.12.2009 14:41
quelle
1

Das ist ein schlechter Code.

Schlechter Code ist gängige Praxis.

Manchmal ist es nicht die Mühe wert, Dinge zu verändern, die nicht "kaputt" sind.

    
ctrlShiftBryan 02.12.2009 14:44
quelle
1
  

Es scheint, dass Vollkommenheit nicht erreicht wird, wenn nicht mehr hinzugefügt werden kann, aber wenn nicht mehr entfernt werden kann. - Antoine de Saint-Exupéry

    
Vedran 02.12.2009 23:30
quelle
0

Denken Sie, die Bedeutung von nutzlos ist, dass es nicht verwendet werden kann und wird. Ich denke auch, dass eine offene Tür sehr offen ist.

    
Ropstah 02.12.2009 14:41
quelle
0

Wenn es einen aktiven Plan gibt, diese zusätzliche Funktion zu verwenden, dann behalten Sie sie bei.

Wenn Sie wissen, dass es nie verwendet wird, oder wenn dieser Plan vor sechs Monaten nicht mehr relevant war, dann ziehen Sie ihn heraus. Ich würde es zuerst kommentieren und dann später vollständig entfernen.

Ich bin dabei, viele Variablen neu zu publizieren, die öffentlich sind, aber wirklich nur geschützt oder privat sein müssen, einfach weil sie keinen Sinn aus einer API-Perspektive ergeben - das und nichts nutzt sie .

    
Broam 02.12.2009 15:01
quelle

Tags und Links