4 Stimmen

Zeit, um ein Programm von LOC zu verstehen

Gibt es irgendwelche allgemeinen, übergeneralisierten und meist nutzlosen Regeln darüber, wie lange man braucht, um ein Programm zu verstehen, basierend auf der Anzahl der LOC (lines of code)?

(Mir ist klar, dass alle Regeln weit gefasst, übergeneralisiert und größtenteils nutzlos sein werden. Das ist in Ordnung.)

(Die Sprache, um die es geht, ist Delphi, aber das sollte keine Rolle spielen, denn ich bin auf der Suche nach allgemeinen, übergeneralisierten und meist nutzlosen Regeln).

5voto

AlbertoPL Punkte 11396

Es ist nicht die Anzahl der LOC, die bestimmt, wie lange es dauert, ein Programm zu verstehen, sondern die Komplexität.

Wenn mein Programm 100.000 Zeilen mit Druckanweisungen enthält, ist es meiner Meinung nach ziemlich klar zu verstehen. Wenn ich jedoch ein Programm mit zehn tief verschachtelten for-Schleifen hätte, würde es wohl viel länger dauern, es zu verstehen.

Zyklomatische Komplexität kann eine ROUGH Dies ist ein Hinweis darauf, wie schwer der Code zu verstehen ist, und kann auch einige andere Warnsignale für Ihren Code darstellen.

4voto

Hosam Aly Punkte 40063

In einigen Papieren über Peer Code Review heißt es, dass zwischen 100 und 400 Codezeilen pro Stunde erreicht werden sollten.

3voto

nik Punkte 12812

Sie können dies nicht googeln, weil es für jede einzelne Person, die in einer bestimmten Sprache programmiert, eine andere ungefähre Zahl geben wird.

Sie versuchen, die Drake's Gleichung für das Schreiben von Programmen.

Das ist es, was ich meine.

Über Programmautoren.

  • jede Person hat einen anderen Stil beim Schreiben und Kommentieren von Code
  • jede Programmiersprache hat unterschiedliche Nuancen und Lesbarkeiten
  • Algorithmen können auf viele Arten implementiert werden, sogar in derselben Sprache
  • die von verschiedenen Personen verwendeten Datenstrukturen sind in der Regel recht unterschiedlich
  • die Entscheidung, wie der Code über die Quelldateien verteilt wird, hängt auch vom persönlichen Geschmack ab

Weiter zu der Person, die den Code liest.

  • die Vertrautheit der Person mit der Sprache spielt eine Rolle
  • Vertrautheit mit den verwendeten Algorithmen und Datenstrukturmustern ist wichtig
  • die Menge an Informationen, die eine Person auf einmal behalten kann, ist wichtig

Wenn man den Schwerpunkt auf die Umwelt legt, wären das wichtige Dinge.

  • der Grad der Ablenkung (sowohl für den Programmierer als auch für die Person, die versucht, das Programm zu lesen)
  • Nähe zum Zeitpunkt der Codefreigabe für den Programmierer
  • ausstehende Aktivitäten und Motivation des Lesers
  • Nähe zu beliebten Ereignissen (Urlaub, Sportereignisse, Kinostart!)

3voto

balpha Punkte 47970

Ich habe die Theorie, dass es sich um O(n 2 ) (weil man jede Zeile im Zusammenhang mit jeder anderen Zeile verstehen muss).

Aber wie üblich, wenn man die Big-O-Notation verwendet, um einen tatsächlichen numerischen Wert zu erhalten, ist diese Antwort weit gefasst, übergeneralisiert und meist nutzlos.

3voto

AviD Punkte 12808

Code-Review-Metriken (was nicht dasselbe ist, aber fast vergleichbar) beziffern die Zahl der LoC pro Stunde für einen erfahrenen Code-Reviewer auf etwa 50-100.

Das hängt natürlich auch davon ab, wonach sie in der Rezension suchen: Sprache, Komplexität, Vertrautheit usw. .... Aber das könnte Ihnen eine allgemeine Verallgemeinerung geben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X