www.wikidata.de-de.nina.az
Lines of Code kurz LOC englisch fur Code Zeilen i S v Anzahl der Programmzeilen engl source lines of code SLOC ist ein Begriff aus der Softwaretechnik Es handelt sich dabei um eine Softwaremetrik d h eine Masszahl um die Grosse einer Codebasis eines Computerprogramms oder seines Wachstums zu beschreiben Die Lines of Code sind im einfachsten Fall die Anzahl der Zeilen des Quelltextes aus denen das Programm besteht Diese Metrik erlaubt keine direkten Aussagen uber die Effizienz der Programmierer denn die Anzahl der Zeilen hangt von unterschiedlichsten Faktoren ab gewahlte Architektur Erfahrung des Programmierers gewahlte Losung Formatierung des Quellcodes verwendete Programmiersprache usw Zudem besagt die 80 20 Regel dass 80 der Zeilen in 20 der Zeit geschrieben werden So kann das grundliche Testen eines Programms sehr viel Zeit in Anspruch nehmen wahrend die Anzahl geanderter oder erganzter Programmzeilen nur gering ist Ublicherweise rechnet man mit einer Produktivitat inklusive aller Projekttatigkeiten von 10 bis 50 Codezeilen je Mitarbeiter und Tag Ein Softwareentwicklungsprojekt mit einem gesamten Aufwand von 1 000 Personentagen ca 5 Personenjahre sollte also zwischen 10 000 und 50 000 Lines of Code produziert haben 1 Inhaltsverzeichnis 1 Berechnungsarten 2 Verwendung 3 Beispiele 4 Literatur 5 EinzelnachweiseBerechnungsarten BearbeitenBei Lines of Code gibt es einige gangige Auspragungen die anhand des folgenden Beispiels in der Programmiersprache Java erlautert werden Wie viele Zeilen sind das public void ausgabeEinsBisHundert for int i 1 i lt 100 i System out print i hier die Ausgabe der Zahlen aus der Schleife Lines of Code LOC Auch physische Lines of Code genannt Anzahl Zeilen inklusive Leerzeilen und Kommentare In obigem Beispiel 7 Wird oft stellvertretend fur eine der anderen Berechnungsarten genannt Source Lines of Code SLOC Anzahl der Codezeilen ohne Leerzeilen und Kommentare In obigem Beispiel 5 Comment Lines of Code CLOC Anzahl Kommentarzeilen wobei nicht definiert ist ob auch Zeilen mit Code und Kommentare eingerechnet werden In obigem Beispiel somit 1 oder 2 Non Comment Lines of Code NCLOC Auch Non Comment Source Lines NCSL oder Effective Lines of Code ELOC genannt Anzahl der Codezeilen ohne Leerzeilen und Kommentare ohne Header und Footer Header und Footer sind insbesondere die ausseren offnenden und schliessenden Klammern sowie auf Klassenebene Import Include Statements und auf Methodenebene Methodendeklarationen Obiges Beispiel hat auf Methodenebene 3 auf Klassenebene 5 NCLOC Logical Lines of Code LLOC Auch Number of Statements NOS genannt Zahlt die Anzahl der Anweisungen Wird bspw bei COCOMO verwendet In obigem Beispiel 2 In der Programmiersprache C gelten allerdings die Instruktionen in for Schleifen als eigenstandige Anweisung In C hatte obiges Beispiel also 4 LLOC Verwendung BearbeitenDie meisten Vergleiche von Programmen uber die LOC betrachten nur die Grossenordnungen der Anzahl Zeilen verschiedener Projekte Computerprogramme konnen aus nur wenigen Dutzend bis zu hunderten von Millionen Programmzeilen bestehen Der Umfang eines Programmes in Codezeilen muss nicht zwangslaufig Ruckschlusse auf die Komplexitat oder Funktionalitat des Programms erlauben da die Verwendung externer Frameworks und Programmbibliotheken die verwendete Programmiersprache und auch die Formatierung des Quelltextes grossen Einfluss auf die Codezeilen haben Insbesondere sind Ruckschlusse auf die investierte Arbeitszeit meistens sinnfrei Auch bei Verwendung von Logical Lines of Code LLOC hangt das Verstandnis was unter einer Anweisung zu verstehen ist und wie die Komplexitat derselben zu beurteilen ist von der verwendeten Programmiersprache ab So kann etwa in einem mehrere Bildschirmseiten umfassenden Assembler Quelltext letztlich das gleiche Programm formuliert sein wie in einigen wenigen Zeilen einer hoheren Programmiersprache Abhangig vom Programmierer und den verwendeten Formatierungsrichtlinien kann das obige Beispiel in folgenden programmtechnisch gesehen vollkommen gleichwertigen Quelltext umformuliert werden Wie viele Zeilen sind das public void ausgabeEinsBisHundert for int i 1 i lt 100 i System out print i hier die Ausgabe der Zahlen aus der Schleife Nun besteht der Quelltext aus vier physischen Codezeilen LOC drei SLOC je nach Berechnung ein bis zwei Comment Lines of Code CLOC einem Non Comment Line of Code auf Methodenebene und weiterhin zwei logischen Programmzeilen LLOC Da die hier getatigte Reduktion der Codezeilen die Lesbarkeit reduziert hat ist die Komplexitat des Programmes erhoht worden was wiederum auf die Produktivitat einen negativen Einfluss hat Weniger Zeilen Code kann somit durchaus hohere Aufwande verursachen Die Grosse Lines of Code wird u a auch zur Berechnung der Fehlerdichte eines Programms verwendet Je nach Einsatzzweck sollte auch abhangig von der Programmiersprache 2 ein bestimmtes Mass an Programmfehlern nicht uberschritten werden z B max 0 5 Fehler je KLOC Kilo 1000 LOC in militarischen oder Krankenhaussystemen Beispiele BearbeitenHier sind einige Beispiele fur die Anzahl der Zeilen von Programmcode in verschiedenen Betriebssystemen und Anwendungsprogrammen Anzahl der Zeilen Programmcode in verschiedenen Betriebssystemen und Programmen Jahr System SLOC in Mio Betriebssystem Kernel1983 Multics Kernel 3 0 251994 Linux Kernel 1 0 nur i386 lt 0 21996 Linux Kernel 2 0 IA 32 Alpha MIPS SPARC 0 721999 Linux Kernel 2 2 1 72001 Linux Kernel 2 4 3 22003 Linux Kernel 2 6 0 8 12005 XNU 792 x Darwin 8 x bzw Mac OS X 10 4 4 22011 Linux Kernel 2 6 39 und 3 0 14 52012 Linux Kernel 3 2 LTS 5 152012 Linux Kernel 3 6 6 15 92015 Linux Kernel 4 2 7 gt 202018 Linux Kernel 4 15 8 25 3 Komplette BetriebssystemeFreeBSD 8 8OpenSolaris 9 71993 Windows NT 3 1 9 4 51994 Windows NT 3 5 9 7 81996 Windows NT 4 0 9 11 122000 Debian GNU Linux 2 2 10 11 55 592000 Windows 2000 9 gt 292001 Windows XP 9 402002 Debian GNU Linux 3 0 11 1042003 Windows Server 2003 9 502005 Debian GNU Linux 3 1 11 2152005 Mac OS X Tiger 10 4 12 862007 Debian GNU Linux 4 0 11 2832007 Windows Vista 13 502009 Debian GNU Linux 5 0 11 3242009 Windows 7 13 40 Andere Software1983 Lotus 1 2 3 1 0 14 0 021989 Lotus 1 2 3 3 0 14 0 42007 SAP NetWeaver 2007 15 2382020 Mozilla Firefox 16 22 32020 Chromium Basis fur Google Chrome 17 34 9Literatur BearbeitenStephen H Kan Metrics and Models in Software Quality Engineering 2 Auflage Addison Wesley Boston MA 2002 ISBN 0 201 72915 6 Harry Sneed Richard Seidl Manfred Baumgartner Software in Zahlen Die Vermessung von Applikationen 1 Auflage Carl Hanser Verlag Munchen 2010 ISBN 978 3 446 42175 2 Einzelnachweise Bearbeiten Steve McConnell Code Complete A Practical Handbook of Software Construction 2 Auflage Microsoft Press 2004 ISBN 978 0 7356 1967 8 20 5 The General Principle of Software Quality S 514 englisch The industry average productivity for a software product is about 10 to 50 of lines of delivered code per person per day including all non coding overhead Prechelt SWT2 Kap 1 5 Messen und Masse FU Berlin 1 Oktober 2012 abgerufen am 19 Marz 2020 Tom Van Vleck John Gintell Joachim Pense Monte Davidoff Andi Kleen Doug Quebbeman Jerry Saltzer Multics Myths Wiki In Multicians Abgerufen am 21 Mai 2020 englisch Amit Singh Mac OS X Internals A Systems Approach Addison Wesley Professional 2006 ISBN 978 0 13 270226 3 2 4 online The Darwin xnu package consists of roughly a million lines of code of which about half could be categorized under BSD and a third under Mach The various kernel extensions not all of which are needed or loaded on a given system together constitute another million lines of code Greg Kroah Hartman Jonathan Corbet Amanda McPherson Linux Kernel Development How Fast it is Going Who is Doing It What They are Doing and Who is Sponsoring It PDF 0 6 MB Nicht mehr online verfugbar Linux Foundation Marz 2012 archiviert vom Original am 12 September 2019 abgerufen am 8 Januar 2013 englisch nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot go linuxfoundation org Thorsten Leemhuis Die Neuerungen von Linux 3 6 In Heise online 1 Oktober 2012 Abgerufen am 2 Mai 2013 Thorsten Leemhuis Linux Kernel durchbricht die 20 Millionen Zeilen Marke In Heise online 30 Juni 2015 Abgerufen am 1 Juli 2015 Thorsten Leemhuis Die Neuerungen von Linux 4 15 In Heise online 12 Februar 2018 S 9 Ausblick auf 4 16 Umfang der Anderungen amp Changelog Abgerufen am 27 Mai 2020 a b c d e f How Many Lines of Code in Windows Nicht mehr online verfugbar Knowing NET 6 Dezember 2005 archiviert vom Original am 18 Mai 2014 abgerufen am 14 Mai 2014 englisch nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www knowing net Jesus M Gonzalez Barahona Miguel A Ortuno Perez Pedro de las Heras Quiros Jose Centeno Gonzalez Vicente Matellan Olivera Counting potatoes the size of Debian 2 2 Nicht mehr online verfugbar 3 Januar 2002 archiviert vom Original am 4 Juli 2008 abgerufen am 2 Mai 2013 englisch a b c d e Gregorio Robles Debian Counting Nicht mehr online verfugbar Archiviert vom Original am 14 Marz 2013 abgerufen am 2 Mai 2013 englisch Steve Jobs Live from WWDC 2006 Steve Jobs Keynote 7 August 2006 abgerufen am 16 Februar 2007 englisch Enthalt vermutlich auch ein paar Anwendungsprogramme 86 million lines of source code that was ported to run on an entirely new architecture with zero hiccups a b Mark Wilson Infographic How Many Lines Of Code Is Your Favorite App In Fast Company magazine online 7 November 2013 abgerufen am 29 Mai 2020 englisch Windows Vista 2007 for instance had 50 million lines of code while Windows 7 shaved that figure down to 40 million a b Detlef Borchers Vor 30 Jahren Die erste Killeranwendung In Heise online 28 Januar 2013 Abgerufen am 14 Juni 2020 Zitat Hatte das erste 1 2 3 noch weniger als 20 000 Codezeilen so kam Version 3 mit 400 000 Zeilen What SAP says about ABAP s future Abgerufen am 20 November 2011 englisch The Mozilla Firefox Open Source Project on Open Hub Abgerufen am 14 November 2020 The Chromium Google Chrome Open Source Project on Open Hub Languages Page Abgerufen am 14 November 2020 Abgerufen von https de wikipedia org w index php title Lines of Code amp oldid 222670482