Einfach mal meckern
-
Mein Vorgänger schien es zwar zu "können" (da wird z.B. ein Konstruktor definiert, aber nicht implementiert), allerdings hat er scheinbar nichts für Lesbarkeit übrig.
Da sind dann so Dinge wie
if(bla == Blubb) machwas; machnochwas;
Da denke ich zuerst machnochwas hängt von der if Bedingung ab.
Oder, eben noch gesehen, eine ganze Seite ohne Einrückungen die dann so aussieht#ifndef #define #else if() if() else if() if() #endif #define
Eine ganze Seite
-
Hi
ist zwar kein c++ aber dafür genauso hässlich. Kleines beispiel
/*************************************************************************** * Interface Description: * * Implementation : * * Return Value : * * Author : * ****************************************************************************/ int8 ABC_i8DummDiDumm( typ var, /* * * Description: * * Direction : * * Values : */ byte var2 /* * * Description: * * Direction : * * Values : */ )
Die Funktions namen bestehen aus dem Modulnamen + _, einer kurzschreibweise für den returnvaluetyp und dem eigentlichen Namen der Funktion.
die 7 zeilen kommentar je funktionsparameter davon 4 lehrzeilen einfach überflüssig sind, sind einfach nur noch unübersichtlich. vorallem wenn man mal irgendwann faul wird und Values nicht mehr richtig ausfüllt (bzw nur noch schwer rauskrigt, da die von irgendwelchen subfunktionen stammen).
das gleiche spielchen für Strukturen.Resultat Headerfils mit mehr als 1000 Zeilen worin man sich dann nicht mehr zurechtfindet.
Funktionsdeklaratioen die man nicht mal mehr auf einer Monitorseite daestellen kann. ( sagt jetzt nicht ich soll mir nen grösseren monitor zulegen hab doch schon 1280 x 1024 ich hab schon überlegt in hochkant zu stellen. nur fehlt mir dazu die passende Software )und das beste kommt noch: nicht mehr als 80 Zeichen je Zeile, damit die vi Nutzer die nicht wissen wie man die 80x25 zeichen auflösung Uumbehen kann auch noch den quelltext anschauen können. ( die sitzen warscheinlich von ner 21 zoll röhre und wissen nicht was framebuffer ist oder wie)
ok eigentlicher grund mit den 80 zeichen ist die ausdruckbarkeit. aber wer druck sich schon sourcecode aus? und wozu gibts querformat?
Aber das schlimste ist wenn man sourcen úbernehmen muss und man so lusteige sachen findet wie
new bla(); // tut irgend was
was soll der scheiss eine Object erzeugen, die instanz gleich wider vergessen und dann soll da noch irgend was gemacht sein? is doch ne statische Methode oder? wieso brauch der da ein new dazu
oder kennt der Herr eigentlich Parameter? wieso sind die Parameterlisten meist lehr und Wieso er holt sich seine Sachen immer über Globale/ statische Variablen und funktionen quer durchs Projekt?
das mal mein frust. Ich hab ich verzweifel als ich das gesehen ab
gruss
-
Hallo zusammen,
ihr habt echt Probleme ;). Ihr werdet mich vielleicht auslachen, oder es einfach gar nicht glauben, aber ich sitze hier und Programmiere COBOL. Ich wiederhole, COBOL! Wenn das an sich nicht schon schlimm genug wäre. Programme heißen hier WZYY001, Variablen heißen meistens auch völlig unverständlich, das läuft über einen Host, per Terminalemulation, mit 80*24 Zeichen, kein Syntaxhighlighting, Programme werden über JCL (Job Control Language) kompiliert, gebunden und ausgeführt.
Für diejenigen, die COBOL nicht kennen, hier mal ein paar kurze Beispiele:
C COBOL int i; i PIC 9(5). wobei die 5 Anzahl der Stellen angibt a=b; MOVE b TO a a=b/c; DIVIDE b BY c GIVING a a=true; SET a TO TRUE a=false; SET nicht-a TO TRUE a=funk(bla); CALL funk USING BY REFERENCE bla
Kommentare gehen nur in eine extra Zeile, dafür muss an Spalte 7 ein Stern. Und die hier vorhandenen Programme sind kaum kommentiert. Gut, COBOL kann man so lesen. Aber mit vielen verschachtelten Unterprogrammen, unverständlichen Datei- und Variablen-Namen kann man so ein Ding auch schnell kaputt machen.
So, und ihr habt Probleme?
Gruß Mata
-
Ich hab mal einen Patch für PovRay geschrieben um HDR-Bilder erzeugen zu können, dafür muss man eigentlich nur eine neue Klasse generieren. Nur wurde im Code eine solche Klasse schön mit new angelegt, aber nicht freigegeben, also wurde auch kein Konstruktor aufgerufen und ich hab mich gewundert, warum mein Dateistream am Ende nicht richtig geflusht wurde. Naja, durch so etwas muss man eben durch
Uwe Ohse: Eine zu lange Geschichte von Debugging und Codequalität
CALL funk USING BY REFERENCE bla
bei COBOL bestimmt der Aufrufer, wie die Variablen übergeben werden
wirkt ein wenig Strange oder habe ich das falsch verstanden?
-
@kongruedi Das hast du schon ziemlich richtig verstanden. Strange is auch das mit den Variablen.. Ganz oben im Programm gibts ne DATA DIVISION. In dieser DIVISION gibts ne WORKING STORAGE SECTION. Da werden alle Variablen angelegt. Die gelten im kompletten Programm. SECTIONS sind in COBOL so in etwa was wie Funktionen (mit dem CALL ruft man Unterprogramme auf). In jeder Section hat man auf alle Variablen Zugriff, die man in dem Programm ganz oben in genannter SECTION deklariert hat. Also nur globale Variablen. Ach ja, und wenn man dann mal eben ne neue Variable anlegen will, muss man natürlich auch wieder die zur richtigen Stelle "scrollen". Naja, und das auf'm Host. Ist wie vi, nur ohne jegliche Funktion :). man kann mit + runter, mit ++ ganz runter.. Oder man kennt die Zeilennummer, wo man hin will.
Ach, ich könnt ewig weiter machen ;).
-
Ich sollte definitiv irgend wann mal COBOL lernen! Hört sich so Seltsam an, dass man es nicht verpassen sollte
-
nman schrieb:
strcat(foobar, "\0")
rofl. Solche Sachen sind echt der Hammer. Leider sieht man hier auch zu oft solchen Code. Vielleicht sollte man hier mal einen extra Bereich anlegen, in dem die schönsten programmiertechnischen Missetaten aufgeführt werden.
-
Vielleicht sollte man hier mal einen extra Bereich anlegen, in dem die schönsten programmiertechnischen Missetaten aufgeführt werden.
die Sektion heißt hier Spiele-Forum
SCNR
-
kingruedi schrieb:
Vielleicht sollte man hier mal einen extra Bereich anlegen, in dem die schönsten programmiertechnischen Missetaten aufgeführt werden.
die Sektion heißt hier Spiele-Forum
SCNR
autsch, der kam sehr tief rein
-
kingruedi schrieb:
Vielleicht sollte man hier mal einen extra Bereich anlegen, in dem die schönsten programmiertechnischen Missetaten aufgeführt werden.
die Sektion heißt hier Spiele-Forum
SCNR
-
kingruedi schrieb:
Vielleicht sollte man hier mal einen extra Bereich anlegen, in dem die schönsten programmiertechnischen Missetaten aufgeführt werden.
die Sektion heißt hier Spiele-Forum
SCNR
So direkt wollt ich es eigentlich nicht sagen.
Die C und C++ Foren brauchen sich aber auch nicht zu verstecken. *duck*
-
ja dann startet doch mal eine "Qualitätsoffensive" *hrhr*
bye
tt
-
kingruedi schrieb:
Vielleicht sollte man hier mal einen extra Bereich anlegen, in dem die schönsten programmiertechnischen Missetaten aufgeführt werden.
die Sektion heißt hier Spiele-Forum
SCNR
Ebenfalls
...
:p