Frage

Wie würden Sie definieren "unerwünschten Code"?


Edit:

IMHO, ist Jedes Code-Mitglied 0 aktiven Mitglieder calling (geprüft rekursiv) unerwünschter Code. (Funktionen, Methoden, Eigenschaften, Variablen sind Mitglieder)

War es hilfreich?

Lösung

0 aktive Anrufe und keine Möglichkeit der Nutzung in naher Zukunft. Und ich lieber nie etwas kommentieren Sie, falls ich es später brauchen, da ich SVN (Source-Control).

Andere Tipps

Hier ist meine Definition von unerwünschter Code :

  • Ein Code, der nicht benötigten ist ein totes Gewicht. (Es sei denn, es ist ein [böswillige] Nutzlast für Ihren eigentlichen Code, aber das ist eine andere Geschichte: -))
  • Ein Code, der mehrmals wiederholt wird, um die Kosten des Produkts zu erhöhen.
  • Ein Code, der nicht Regression getestet werden soll, als auch die Kosten des Produkts zu erhöhen.

Sie können entweder einen solchen Code entfernen oder es Refactoring, aber Sie wollen nicht, es zu halten, wie es da ist.

Wie Sie in dem anderen Thread gesagt, Code, der nicht überall überhaupt verwendet wird, ist so ziemlich unerwünscht. Was, wie es finden Ich würde vorschlagen, FindBugs oder Check, wenn Sie Java wurden unter Verwendung von, zum Beispiel, da diese Werkzeuge überprüfen, um, wenn eine Funktion überall dort eingesetzt wird, und markiert sie als nicht-verwendet, wenn es nicht ist. Sehr schön für unnötiges Gewicht loszuwerden.

Nun, nachdem es über kurz dachte, ich kam mit diesen drei Punkten auf:

  • kann es sein, dass Code Refactoring werden soll
  • Sie können Code sein, der keine mehr (Reste aus früheren Versionen) genannt wird
  • Sie können Code sein, der nicht zu Ihrem Stil-Führer und Weise-of-Codierung
  • gilt

ich wette, es gibt viel mehr, aber das ist, wie ich unerwünschten Code definieren würde.

In Java ich würde die Methode oder Klasse mit @deprecated markieren.

Alle PRIVATE Codebauglied ohne aktive Mitglieder calling (geprüft rekursiv). Sonst wissen Sie nicht, wenn Ihr Code nicht aus dem Anwendungsbereich Analyse verwendet wird.

Einige Dinge bereits gebucht, aber hier ist eine andere: Funktionen, die fast das gleiche tun. (Nur eine kleine Größenänderung und damit die ganzen Funktionen Kopie eingefügt und diese Variable geändert wird)

Normalerweise sage ich meinen Compiler als nervend laut wie möglich sein, dass 60% der Sachen nimmt, die ich untersuchen müssen. Nicht verwendete Funktionen, die Monate alt (nachdem er mit dem VCS-Kontrolle) in der Regel verdrängt bekommen, es sei denn, ihr Autor mir sagt, wenn sie tatsächlich verwendet werde. Stuff fehlt Prototypen ist auch vermuten, sofort.

Ich denke, versuche automatisierte Hausreinigung zu implementieren, ist wie der Versuch, ein USB-Gerät zu machen, dass Sie ‚sicher‘ spielen garantiert Russian Roulette .

Der schwierigste Teil Komponenten zu dem Build-System hinzugefügt werden, um zu überprüfen, bemerken nur wenige Menschen diese und nicht verwendeter kludges bleibt Moos zu sammeln.

Darüber hinaus möchte ich normalerweise den Code, ich will nur sein Autor es ein wenig Refactoring und ihren Stil wie der Rest des Projekts das gleiche machen.

Ein weiteres hilfreiches Werkzeug ist doxygen , die Sie (visuell) helfen Relationen im Quellbaum. jedoch., wenn sein Satz an nicht statisch Symbole / Objekte zu extrahieren, es ist nicht sehr gründlich sein wird.

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