myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Auskommentieren ok?

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 01.07.10, 16:01   #1
cybeegirl
Nur auf der Durchreise
 
Benutzerbild von cybeegirl
 
Registriert seit: Mar 2010
Ort: belgium
Beiträge: 29
Bedankt: 25
cybeegirl ist noch neu hier! | 0 Respekt Punkte
Standard 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
__________________
Die Welt und das Leben sind zu schön ....................................

hamachi: cybeegirls-network pw: cybee
................................. um nur vorm Bildschirm zu sitzen
cybeegirl ist offline   Mit Zitat antworten
Ungelesen 01.07.10, 20:15   #2
harbok
Erfahrener Newbie
 
Registriert seit: May 2009
Beiträge: 116
Bedankt: 93
harbok ist noch neu hier! | 0 Respekt Punkte
Standard

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?
harbok ist offline   Mit Zitat antworten
Ungelesen 01.07.10, 20:19   #3
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

Kannst du die ganzen Globalen Variablen erklären?
gosha16 ist offline   Mit Zitat antworten
Ungelesen 01.07.10, 21:30   #4
haze303
xor eax, eax
 
Benutzerbild von haze303
 
Registriert seit: Sep 2009
Beiträge: 596
Bedankt: 466
haze303 ist noch neu hier! | 1 Respekt Punkte
Standard

Code:
string err1 = ("Es wurde was falsches oda nix eingegeben");
Ich würde das ändern in: "Es wurde etwas falsches oder nichts 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
__________________
Desktop: Arch Linux | Laptop: Arch Linux
VM: Windows 7, Windows XP, Fedora 14, Arch, Windows Server 2008 R2 Enterprise
haze303 ist offline   Mit Zitat antworten
Ungelesen 01.07.10, 23:49   #5
harbok
Erfahrener Newbie
 
Registriert seit: May 2009
Beiträge: 116
Bedankt: 93
harbok ist noch neu hier! | 0 Respekt Punkte
Standard

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;
	int z2;
Sprechliche Variablen heisse nicht z1 und z2, sondern in diesem Fall operator1 und operator2, da sie genau das sind: Operatoren für ein Rechenprogramm.
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: ");
	string note1	= ("Achtung nur +-*/ erlaubt");
	string note2	= ("Magst bitte die ");
	string note3	= (" Zahl eingeben!\n");
	string note4	= ("------------------");
Du kannst daraus einen string machen und es ist immer gut, wenn man bei Hochdeutsch und ganzen Sätzen bleibt, da das "Magst" leider nicht dazu zählt, würde ich es streichen. Hier wäre ein: "Achtung: Es sind nur +-*/ Operationen möglich\nBitte die Zahl eingeben:\n-------------------" neutraler und sachlicher.

Code:
	string err1 = ("Es wurde was falsches oda nix eingegeben");
Wie mein Vorredner schon sagte, ist kiddie chatslang inakzeptabel. Das "was" ist ebenfalls kein Hochdeutsch, sondern ein verschlucktes "etwas" und das "nix" ersetzt man besser durch ein "nichts". "Falsches" und "Nichts" würde in diesem Fall ausserdem gross geschrieben werden.

Code:
class ScTst //ShellCalcTest 
{
// Von Main aus zugreifbare Funktionen und Methoden
public:
Klassennamen sollten sprechlich sein. Niemand weiss in zwei Monaten, was die Klasse ScTst denn macht.
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
switch (oAb)//bezeichner der operative wird in schleife verwendet
		{
Hier gibt es einen Tippfehler im oberen Kommentar und die switch Anweisung ist mißverständlich beschrieben. Es handelt sich um eine Fallunterscheidung und nicht um die Verwendung einer Schleife.

Code:
system("Pause"); //anzeige des ergebnisses anzeigen
ScTst::Main(); //zurück zur Hauptmethode der Klasse ScTst
Der Kommentar "Ergebnis anzeigen" ist beim Aufruf des Betriebssystembefehls "Pause" leider sehr fehl am Platze, denn das hat nichts miteinander zu tun und die Zeile darunter ist ein echter Fehler: Dort geht es nicht zurück zur Hauptfunktion, sondern diese wird erneut aufgerufen. Das ist ein immenser Unterschied, denn die Hauptfunktion selbst ruft diese ja auch wieder auf und das fortwährende gegenseitige Aufrufen ohne je zu beenden führt irgendwann zu einem StackOverflow und man verliert die ganze Zeit konstant Speicher.
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[])
Wie oben schon kurz erwähnt: Du solltest wissen, was TCHAR denn eigentlich ist. Das ist kein Standard C/C++ und lädt natürlich auch zu tollen Rückfragen ein.


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
harbok ist offline   Mit Zitat antworten
Ungelesen 02.07.10, 02:05   #6
cybeegirl
Nur auf der Durchreise
 
Benutzerbild von cybeegirl
 
Registriert seit: Mar 2010
Ort: belgium
Beiträge: 29
Bedankt: 25
cybeegirl ist noch neu hier! | 0 Respekt Punkte
Standard

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:
//anzeige des ergebnisses anzeigen
huch da fehlte noch was ^^

Zitat:
//*Pausieren des Programms zum Anzeigen des Ergebnisses

Vielen Dank ihr Lieben

Eure Cybeegirl
__________________
Die Welt und das Leben sind zu schön ....................................

hamachi: cybeegirls-network pw: cybee
................................. um nur vorm Bildschirm zu sitzen
cybeegirl ist offline   Mit Zitat antworten
Ungelesen 02.07.10, 07:44   #7
haze303
xor eax, eax
 
Benutzerbild von haze303
 
Registriert seit: Sep 2009
Beiträge: 596
Bedankt: 466
haze303 ist noch neu hier! | 1 Respekt Punkte
Standard

Zitat:
Wie mein Vorredner schon sagte, ist kiddie chatslang inakzeptabel. Das "was" ist ebenfalls kein Hochdeutsch, sondern ein verschlucktes "etwas" und das "nix" ersetzt man besser durch ein "nichts". "Falsches" und "Nichts" würde in diesem Fall ausserdem gross geschrieben werden.
Das habe ich total unterschlagen bzw. überlesen. "Flasch" und "Nichts" wird in diesem Fall in der Tat groß geschrieben. Dein ganzer Post ist eine tolle Korrektur und Hilfestellung von deiner Seite.

Viele Grüße,
haze303
__________________
Desktop: Arch Linux | Laptop: Arch Linux
VM: Windows 7, Windows XP, Fedora 14, Arch, Windows Server 2008 R2 Enterprise
haze303 ist offline   Mit Zitat antworten
Ungelesen 02.07.10, 11:56   #8
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

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?"
gosha16 ist offline   Mit Zitat antworten
Ungelesen 02.07.10, 16:18   #9
cybeegirl
Nur auf der Durchreise
 
Benutzerbild von cybeegirl
 
Registriert seit: Mar 2010
Ort: belgium
Beiträge: 29
Bedankt: 25
cybeegirl ist noch neu hier! | 0 Respekt Punkte
Standard

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."
__________________
Die Welt und das Leben sind zu schön ....................................

hamachi: cybeegirls-network pw: cybee
................................. um nur vorm Bildschirm zu sitzen
cybeegirl ist offline   Mit Zitat antworten
Ungelesen 02.07.10, 18:02   #10
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

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.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 02.07.10, 18:06   #11
harbok
Erfahrener Newbie
 
Registriert seit: May 2009
Beiträge: 116
Bedankt: 93
harbok ist noch neu hier! | 0 Respekt Punkte
Standard

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.
harbok ist offline   Mit Zitat antworten
Ungelesen 02.07.10, 18:32   #12
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

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.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 09.11.10, 06:56   #13
cybeegirl
Nur auf der Durchreise
 
Benutzerbild von cybeegirl
 
Registriert seit: Mar 2010
Ort: belgium
Beiträge: 29
Bedankt: 25
cybeegirl ist noch neu hier! | 0 Respekt Punkte
Standard

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
__________________
Die Welt und das Leben sind zu schön ....................................

hamachi: cybeegirls-network pw: cybee
................................. um nur vorm Bildschirm zu sitzen
cybeegirl ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr.


Sitemap

().