Anzahlcodezeilenscript
-
Hi !
Hier mal wieder ein kleines Shellscript aus der Rubrik "Was keiner braucht, aber trotzdem nett ist" :
#!/bin/bash #zeigt statistik über c/c++ code an #einfach nur in das programmverzeichnis kopieren und aufrufen #alle codefiles die berücksichtigt werden set $1 "*.h *.cpp" #größe des quellcodes in kb echo "Größe des Quellcodes in KB :" cat $1 | echo $[$(wc --bytes)/1024] #anzahl zeilen echo echo "Anzahl aller Zeilen :" cat $1 | wc --lines #anzahl wörter echo echo "Anzahl aller Wörter :" cat $1 | wc --words #längste zeile echo echo "Längste Zeile :" cat $1 | wc --max-line-length #anzahl zeichen echo echo "Anzahl aller Zeichen :" cat $1 | wc --chars
(vielleicht findet das ja einer nützlich ?)
[ Dieser Beitrag wurde am 26.12.2002 um 16:03 Uhr von Headhunter editiert. ]
-
so leicht kommst du nicht davon, durch längere beobachtung von Newsnet und Foren Beiträgen oder Unterhaltungen mit anderem Programmierern im IRC oder per Mail, habe ich nämlich erfahren, dass jeder Programmierer die Zeilen anders zählt um möglichst die unwichtigen Zeilen rauszifiltern, da Zeilenzahl ja nicht wirklich etwas über den Code aussagt
(zB.
#include <iostream> using namespace std; int main() { cout << "hallo Welt" << endl; return 0; }
vs.
#include <iostream> int main() { std::cout << "hallo Welt" << std::endl; }
)
Du solltest also ein Script schreiben, was die verschiedenen Zähl Systeme unterstützt (am besten selbst einstellbar), viel spaß :p
-
[klugscheißer]
Lern du erstmal richtigen C++ Code zu programmieren bevor du mir dummkommst :p :p :int main() { cout << "hallo Welt" << endl; return 0; }
Na ?! Ist da nicht ein "return 0;" zuviel ??
[/klugscheißer]
-
ne!
am ende der main funktion sollte (muss nicht sogar?) ein wert zurückgegeben werden, den das betriebssystem dann auswertet. (z.b. -1 für fehler 0 für ok, etc)
-
Original erstellt von Korbinian:
ne!
am ende der main funktion sollte (muss nicht sogar?) ein wert zurückgegeben werden, den das betriebssystem dann auswertet. (z.b. -1 für fehler 0 für ok, etc)NEIN !
Laut Standard Nummer ??? lieftert int main () "per default" 0 zurück
Das weiß aber kaum einer, es gibt sogar Compiler die das als Fehler werten
-
Es kann jeder halten wie ein Dachdegger, ob er ein return 0 einfügt oder nicht. Man kann es machen, wenn man gerne möchte, muss es aber nicht.
edit: Außerdem sind wir hier im Linux-Forum. Da ist sogar main() erlaubt
[ Dieser Beitrag wurde am 26.12.2002 um 16:51 Uhr von Doktor Prokt editiert. ]
edit2: Hm, jo, dein Script muss wenigstens die Möglichkeit bieten, Kommentarzeilen zu ignorieren, habe gerade gezählt, daß bei mir 34% aller Zeilen Kommentarzeilen sind.
[ Dieser Beitrag wurde am 26.12.2002 um 17:03 Uhr von Doktor Prokt editiert. ]
-
Original erstellt von Headhunter:
Laut Standard Nummer ??? lieftert int main () "per default" 0 zurückEs _hat den gleichen Effekt wie_ ein return 0. Der Wert, der an die Umgebung zurückgegeben wird, ist nicht näher spezifiziert.
btw: Die ISO-Standards (oder zu deutsch ISO-Normen) haben WIMRE die Eigenschaft, die jeweilige Vorgängerversion 'ungültig' zu machen. In C++ existiert das Problem nicht, da diese Norm die erste ist.
Ich persönlich halte diese Sonderregel übrigends für bescheuert. Wieso muss man für so eine Nichtigkeit wieder einen Spezialfall einbauen?
Damit jeder sein (Halb)-Wissen zum Thema C++ loswerden kann? Damit man alle paar Threads darüber diskutieren kann? Damit C++-Compiler langsamer werden? Damit die Norm dicker wird? Damit ich über das ISO-Komitee herziehen kann?
-
@Headhunter
Genau das wollte ich klarmachen. Das return 0; muss man nicht schreiben, es gibt aber viele, die dies (noch) tun, dadurch haben die Programmierer eine Zeile mehr, die nicht mehr macht.@Daniel E.
-
Da sind wir tolerant. Wenn jemand zweitere Variante bevorzugt benutzen wir einfach folgende Formel :
anzahlZeilen -= float (anzahlZeilen*0.1f);
Das passt dann schon