Stilfrage



  • Diotor schrieb:

    Das ganze wird dann wieder in die Textdatei geschrieben
    - Sollte ich die Variablen als Klassenvariablen deklarieren oder den Funktionen übergeben?
    - findeBegegnung() und suchen() als Methoden von Spielplan? formatDatum dafür nicht

    Allgemein gesprochen:
    a) Gehören die Variablen logisch zur Klasse, oder zur Methode?
    b) Erfordern die Methoden interne Daten der Klasse oder nicht? Gehören sie für dich logisch zur Klasse?

    Diotor schrieb:

    - das Array dynamisch? wie?

    z.B. std::vector verwenden.

    Zudem:
    - Deklaration und Definition ist zu trennen.
    - Niemals "using namespace" im Header verwenden.
    - Übergabe von nicht integralen Datentypen würde ich niemals als Kopie, sondern als konstante Referenz umsetzen ("string formatDatum(string)" => "string formatDatum(string const &)")
    - Einrückungen bitte einheitlich machen (unabhängig davon welchen Stil du verwendest).
    Zum Rest (Unsinn der UN etc.) wurde schon etwas gesagt...



  • asc schrieb:

    Diotor schrieb:

    Das ganze wird dann wieder in die Textdatei geschrieben
    - Sollte ich die Variablen als Klassenvariablen deklarieren oder den Funktionen übergeben?
    - findeBegegnung() und suchen() als Methoden von Spielplan? formatDatum dafür nicht

    Allgemein gesprochen:
    a) Gehören die Variablen logisch zur Klasse, oder zur Methode?
    b) Erfordern die Methoden interne Daten der Klasse oder nicht? Gehören sie für dich logisch zur Klasse?

    Diotor schrieb:

    - das Array dynamisch? wie?

    z.B. std::vector verwenden.

    Zudem:
    - Deklaration und Definition ist zu trennen.
    - Niemals "using namespace" im Header verwenden.
    - Übergabe von nicht integralen Datentypen würde ich niemals als Kopie, sondern als konstante Referenz umsetzen ("string formatDatum(string)" => "string formatDatum(string const &)")
    - Einrückungen bitte einheitlich machen (unabhängig davon welchen Stil du verwendest).
    Zum Rest (Unsinn der UN etc.) wurde schon etwas gesagt...

    a) finde sie gehören nicht zur Klasse. Also übergeben?
    b) erfordern interne Daten, findeBegegnung() +suchen() gehört logisch zur Klasse, formatDatum() nicht.



  • Diotor schrieb:

    a) finde sie gehören nicht zur Klasse. Also übergeben?
    b) erfordern interne Daten, findeBegegnung() +suchen() gehört logisch zur Klasse, formatDatum() nicht.

    Du hast du dir die Antwort eigentlich selbst gegeben...



  • Jo, kann ich nix gegen sagen 😃

    Dennoch möchte ich kurz erwähnen wann ich un benutze:
    und zwar genau dann wenn ich zwei verschiedene typen des gleichen kontextes habe und z.B. von a nach b caste...

    achso zur IDE hilfen: Man sollte seinen Code so schreiben das er selbst mit einem nativen text editor lesbar wäre,.. oder?

    Naja,.. aber danke für die info 😉
    ---------------------------------------
    Edit: achso ist ja schon zwo seiten der thread,.. ups,...



  • zeusosc schrieb:

    Dennoch möchte ich kurz erwähnen wann ich un benutze:
    und zwar genau dann wenn ich zwei verschiedene typen des gleichen kontextes habe und z.B. von a nach b caste...

    Inwiefern soll das ein Grund für die Verwendung von UN sein?



  • zeusosc schrieb:

    achso zur IDE hilfen: Man sollte seinen Code so schreiben das er selbst mit einem nativen text editor lesbar wäre,.. oder?

    Also mein Texteditor kann die Syntax hervorheben. Aber selbst wenn dies nicht der Fall ist, halte ich die UN nicht für lesbarkeitsfördernd (und das sogar noch durch deinen Code bestätigt), wichtiger ist das die Bedeutung der Variablen, weniger ihr Typ direkt ablesbar ist. Beispielsweise ist "sArray" unabhängig von UN oder nicht, eine sehr schlechte Namenswahl.

    Zudem liest man Code häufiger, als das man ihn schreibt, und da ist eher wichtig ob der Code sinnvoll zu lesen ist, und man die Bedeutung direkt erfassen kann.



  • ? Warum nicht ?
    Z.b. ich habe eine zeit die einmal als typ int (z.b. in ms) und einmal in form einer strucktur (z.b. schon aufgeschlüsseltg nach std, min, sec etc) gespeichert ist und wenn ich das ding quasi zweimal habe ist es "für mich" übersichtlicher das ding einmal z.b. iStartTime und einmal spStartTime local benenne,...

    Oder gibt es daran etwas auszusetzen?

    greatz 🙂



  • zeusosc schrieb:

    Oder gibt es daran etwas auszusetzen?

    Mach wie du meinst, es gibt genügend Gründe gegen die UN, und diese kann man mit etwas Recherche im Forum und ebenso bei Microsoft finden. In der Mehrheit der aktuellen C++ Projekte (Außer vielleicht bei intensiver WinAPI-Verwendung, oder vielen alten Entwicklern) wirst du nichts von der UN bemerken.



  • Jo gut dann 😃



  • Vor einiger Zeit habe ich einen etwas ausführlicheren Post zur UN geschrieben. Dieser überschneidet sich zwar zu einem grossen Teil mit dem bisher Genannten, aber vielleicht willst du ihn dir ja trotzdem mal anschauen.


Anmelden zum Antworten