Verwendung von LOC zu bestimmen, Projekt Größe
Wie viele lines of code (LOC) dauert es, zu sein, als ein großes Projekt? Wie etwa die nur für eine person schreiben?
Ich weiß, das Metrisch ist, ist fraglich, aber es gibt einen signifikanten Unterschied, für einen einzelnen Entwickler, zwischen 1k und 10k LOC. Ich in der Regel verwenden Sie Leerzeichen für die Lesbarkeit, vor allem für SQL-Anweisungen, und ich werde versuchen, zu reduzieren die Menge an LOC für die Wartung Zweck zu Folgen, wie viele best-practice, wie ich kann.
Zum Beispiel habe ich ein unified diff der code, den ich heute geändert, und es war über 1k LOC (inklusive Kommentare und Leerzeilen). Ist "modifizierte LOC" eine bessere Metrik? Ich habe ~2k LOC, so ist es überraschend, ich geändert 1k. Ich denke, das umschreiben, zählt sowohl eine Löschung und zusätzlich eine Verdoppelung der Werte.
- Beachten Sie, dass die LOC bezieht sich auf Codezeilen - leere Zeilen eingefügt, zur besseren Lesbarkeit, und Kommentarzeilen werden ignoriert, für die Zwecke dieser Metrik.
- LOC ist nicht wirklich eine Metrik fit für die Festlegung, Wann ein Projekt "groß". Ich würde parhaps Blick auf die Anzahl der Module, Ihre complexety und die Interdependenzen zwischen Ihnen als eine bessere Metrik, aber ich glaube nicht, dass es eine Feste Antwort zu geben, Wann ein Projekt groß ist. Sind Sie versuchen, ein problem zu lösen, oder ist dies mehr eine Allgemeine Frage?
- Ein Gefühl, was Leute denken, groß zu sein.
- Machen dies zu einem community-wiki, da gibt es keine "richtige" Antwort.
- Fertig 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etwas weniger nutzlos Metrik - Zeit der Zusammenstellung.
Wenn Ihr Projekt braucht mehr als... sagen wir, 30 Minuten, um zu kompilieren, ist es groß 🙂
Mit Steve Yegge als die benchmark im oberen Bereich der Skala, sagen wir mal, dass 500k Zeilen code ist (über?) die maximale ein einzelner Entwickler pflegen können.
Mehr aber im ernst; ich denke, wenn Sie auf 100k LOC sind Sie wahrscheinlich gehen zu wollen, zu Beginn der Suche für re-factorings vor Erweiterungen am code.
Beachten Sie jedoch, dass ein Weg, um dieses limit ist natürlich zu unterteilen den code mehr. Wenn die Gesamtsumme der gesamte code besteht aus zwei oder drei großen Bibliotheken und einer Anwendung kombiniert, das kann gut sein, mehr, als Sie halten könnten, als eine einzige code-Basis, aber solange jeder Bibliothek ist schön Selbstverpflegung, die Sie nicht gehen zu überschreiten, die Fähigkeit zu verstehen, jeden Teil der Lösung.
Vielleicht eine andere Messung für diese wäre die COCOMO Messen - auch wenn es wahrscheinlich so nutzlos wie der LOC.
Einen einzigen Entwickler, der nur tun konnte, Bio-Projekte - "kleine" Mannschaften mit "viel" Erfahrung in der Arbeit mit "weniger als starre" Anforderungen.
In diesem Fall, efford angewendet in Mann-Monaten berechnet werden als
Dieser sagte, 1kLOC müssten 2.52 Mann-Monats. Sie können mehrere Faktoren zu verfeinern, dass, basierend auf Produkt -, hardware -, Personal-und Projekt-Attribute.
Aber alles, was wir getan haben, ist jetzt projiziert LOC zu einer Zeit-Messung. Hier haben Sie auch nochmals zu entscheiden, ob eine 2-Monats-oder 20-Monats-Projekt wird als groß.
Aber als Sie sagte, LOC ist wahrscheinlich nicht die richtige Maßnahme, um zu verwenden. Keywords: software-Metriken function-points, evidence based scheduling, Hobeln Spiel.
Meiner Meinung nach kommt es auch auf die Gestaltung Ihrer code - ich habe gearbeitet an Projekten in den 1-10K loc-Serie war so schlecht konzipiert, dass es fühlte sich wie ein wirklich großes Projekt.
Aber LOC ist wirklich eine interessante meassure für code? 😉