![]() |
Auskommentieren ok?
Huhu ihr Lieben,
Habe ein einfaches Shell App geschrieben, das ich selber auskommentieren soll um es bei der MüPrf zu erklären ... Meine Frage ist nu, ob es soweit auskommentiert um es zu verstehen (bzw fehler enthalten sind) Es handelt sich um C++ Code geschrieben unter VS2008 (C++99) Thx 4 Feedback Eure Cybeegirl |
Ich finde die Formatierung etwas unglücklich gewählt, so daß es schwer fällt, das zu lesen. Das ist aber auch meist eine Frage der persönlichen Präferenz bzw. Gewohnheit.
Ist es denn ok, dass Du den windowsspezifischen Kram in dem Code behältst? |
Kannst du die ganzen Globalen Variablen erklären?
|
Code:
string err1 = ("Es wurde was falsches oda nix eingegeben"); Und gewöhne dir am besten gleich noch das "oda", "aba" und so weiter ab. Das wirkt total unseriös und unprofessionell - wirklich ganz ganz schlimm. ;) Ansonsten schließe ich mich harbok an, dass die Formatierung etwas unübersichtlich ist und das (unter anderem) ClearScreen nur unter Windows funktioniert. Es ist dein Stil und wenn es keine Noten auf die Formatierung geben sollte, musst du es ja nicht unbedingt ändern, solang das Programm ansich funktioniert. Viele Grüße, haze303 |
Ich meinte primär TCHAR und die stdafx.h, die für einen Neuling reichlich schwer zu erklären wären. Die "Standard" main( ) ist nun mal eine andere.
Aber meine Anmerkungen zum Inhalt: Code:
int z1; Wenn Du die ungarische Notation wählen möchtest, wären die korrekten Namen für diese Variablen "nOperator1" und "nOperator2". Mit z1 und z2 kann niemand etwas anfangen. Code:
string note = ("------------------\nRechnung: "); Code:
string err1 = ("Es wurde was falsches oda nix eingegeben"); Code:
class ScTst //ShellCalcTest Der Satz zur Sichtbarkeit ist in diesem Zusammenhang vollkommen korrekt, aber nicht allgemeingültig. Public ist eine öffentliche Sichtbarkeit, d.h. diese Methoden sind nicht nur von main, sondern von jedem zugänglich. Übrigens ist der Term "Funktionen" in diesem Zusammenhang nicht korrekt, da Du (sollte ich nichts übersehen haben) nur Prozeduren deklarierst und definierst. Eine Funktion liefert immer einen Wert zurück. Zudem spricht man in der OOP für gewöhnlich nur von den Methoden einer Klasse. Code:
oAb = oA;//eingegebener Wert für Operation wird übergben Code:
system("Pause"); //anzeige des ergebnisses anzeigen Hier wäre eine Ausbesserung des Programmfehlers sicherlich ratsam, da so ein Fehler natürlich eine tolle Gelegenheit ist, fiese Fragen in einer mündlichen Prüfung zu stellen. Code:
int _tmain(int argc, _TCHAR* argv[]) Ansonsten ist es ganz ok. Der Programmierstil lässt noch klar erkennen, dass der Programmierer eher unerfahren ist, aber das wäre ja auch wahrscheinlich sehr seltsam, wenn Du mit einem perfekt geschliffenen Programm aufwarten würdest. Für mündliche Prüfungen kann ich Dir den Tipp geben, das Programm vorher mal irgendwem zu erklären, der vielleicht auch Rückfragen stellen kann. Am besten zwei, drei Mal - dann bist Du bei der eigentlichen Prüfung viel flüssiger und das wirkt immer kompetent :) |
Hi,
dafür liebe ich dieses Board, klares ausdrucksstarkes und tiefgründiges Feedback, das mein ich ernst. Werde die aufgezeigten Patzer beherzigen und entsprechend noch Hintergrundwissen (TCHAR) beilesen, damit ich mich da net lächerlich mache. *zitter* Zitat:
Zitat:
Vielen Dank ihr Lieben Eure Cybeegirl |
Zitat:
Viele Grüße, haze303 |
Oben das wurde wohl falsch verstanden.
Wenn ich in böser Programmierenlehrer wär würde ich folgendes fragen: "Sie benutzen hier eine Menge globaler Variablen die nur in der Klasse verwendung finden. Warum sind diese Variablen Global?" |
Dann würde ich sagen:
"sie wurden deshalb global deklariert, damit sie von überall zugreifbar sind wenn ich sie brauche. Da die Möglichkeit erhalten bleiben soll, den Informationskörper bzw die Fehlermeldung auch in andere Klassen mit einzubauen. In Späteren Klassen die der gleichen Variablen oder Zeichenfolgen bedürfen bräuchte ich nicht unnötig wieder eine Variable oda ZeichenFolge deklarieren Ansonsten gibt es keinen Grund diese global zu setzen." |
dann würde ich antworten, global variablen sind trotzdem baba. großes baba!
wenn man die überall verfügbar braucht, dann kann man sie in einer eigenen fehlerklasse kapseln. |
Argumentier lieber damit, dass das Programm in diesem Fall damit übersichtlicher gestaltet ist und Du bei mehreren Klassen natürlich soweit nur möglich auf globale Variablen verzichten wirst, da sie zu erheblichen Problemen führen und in der objektorientierten Programmierung aus gutem Grunde kaum noch eine Rolle spielen und ihre Verwendung verpönt ist. Eine Ausnahme stellen dabei zeitkritische Systeme dar.
Die dann kommende Rückfrage, ob Du ein solches erhebliches Problem benennen kannst, beantwortest Du dann mit: Die Verwendung globaler Variablen ist eine grosse und oftmals schwer zu findende Fehlerquelle. In grossen Projekten werden die globalen Variablen sehr schnell unübersichtlich und es kommt zu Überlagerungen oder funktionalen Entfremdungen, wenn viele Entwickler an einem Programm arbeiten. In Programmen mit parallel ausgeführten Programmteilen führen globale Variablen auch oftmals zu race conditions, die sehr schwer zu debuggen sind und eine sichere Threadsynchronisation erfordern. ;) |
sag ich doch, globals sind baba ;)
und das warum einem anfänger in einem posting zu erklären halte ich schlicht für unmöglich. |
Vielen Vielen Dank, für Eure Mühen und die Zeit :-)
Das war sehr lieb von Euch und es hat mir den entsprechenden "HintKick" gegeben meine Auslegung hinsichtlich global deklarierten Variablen zu überdenken. Faulheit zahlt sich letztendlich doch net aus - wie war :-) Deshalb habe ich sie letztendlich einfach rausgelassen. P.S.: hatte gar net damit gerechnet, dass sich wer meinem salat anvertraut |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.