Ordnungskurs?



  • Hi leute!
    Mir passiert es in letzer zeit immer öfter, seit dem ich größere Programme schreibe, dass ich die lust verliere, da mein Code nach der zeit total unübersichtlich und schwer zu lesen wird. Gibt es soetwas wie ein Programmier ordnungskurs wo man lernt, den code übersichtlich zu halten?

    Danke im Vorraus



  • Hallo!

    Dazu gibt es alle möglichen Richtlinien.

    Die findest du häufig in Anfängerbüchern mit gehobenem Anspruch.
    Firmen stellen oft Programmierrichtlinien auf - manchmal fragt man sich aber verzweifelt nach dem Sinn einer Regel. Aber fragen im Bekanntenkreis zum Probelesen kann nicht schaden.

    Ansonsten hat jeder doch noch seinen eigenen Stil und daher andere Ratschläge für dich.

    Poste doch mal ein Stück "Chaoscode" und dann wirst du sicher zu hören kriegen, was du besser machen kannst.

    Tipps, die mir geholfen haben:
    Viele Leerzeilen, um Sinnabschnitte zu machen. Das hilft ungemein beim Lesen.
    Grosse Kommentarköpfe für Funktionen erleichtern das Finden des Anfangs oder Endes einer Funktion (und zwingen zum Kommentieren 😉 )



  • Seh wichtig ist den Code sinnvoll/viel zu kommentieren und sich so leserlich wie möglich zu gestalten. Das heißt einrücken, "untereinanderorenden", ...
    Besonders beim Kommentieren kann viel Zeit draufgehen.

    Es zahlt sich aber immer aus. Nur nicht den Mut verlieren und aufgeben. 🙂

    MFG Michael



  • Kommentieren ist wichtig wenn der Code nicht selbsterklärend ist. Da kommen wir schon zum nächsten Punkt: Selbsterklärender Code. Ausserdem sollte man kryptische Formulierungen vermeiden. Klassen und Funktionen sollten nicht zu groß werden und nicht zuviele Abhängigkeiten aufweisen, aber da spielt die Praxis meistens nicht mit. goto vermeiden, C++ casts verwenden... es gibt so vieles was den Code besser lesbar macht.



  • Wichtig ist immer das eigentliche Programm (so weit wie möglich) vom UI zu trennen!



  • Ich wünschte es gäbe!

    Die ganzen Softwareentwicklungs-Praktiken (OOP, und neuerer krempel wie Agile Programming) Sind im Prinzip aus einem grund entstanden: größere Projekte in den griff zu kriegen.

    Leider hat sich die Vermittlung der Techniken ziemlich weit von der Praxis entfernt, so das besagte Kurse kaum in der form existieren, wie es für dich wohl günstig wäre.

    Was es gibt:

    1. Formale Ordnung
      Das geht los beim Einrück- und Schreibstil, Variablen- und Funktionsnamen etc. Hier geht es darum, Schnittstellen usw. so zu schreiebn, daß sie intuitiv zu benutzen sind, ohne daß du erst in der Doku oder in den Quellen nachschauen mußt. Das ist oftmals ein wenig mehr Schreibaufwand, aber immer noch besser, als nach einem halben jahr ein dutzend Funktionen wegzuschmeißen und neuzuschreiebn, weil man nicht mehr durchsieht.
      Schau die einfach gängige varianten an, und probier, womit du am besten zurechtkommst.

    2. Dokumentationssysteme
      Extrahiert C++-definitionen und Kommentare zu einer Software-Dokumentaiton. hat meines erarchtens einige Vorteile: Eine im-Code-Doku wird eher aktualisiert als ein externes Word-Dokument,

    http://www.doxygen.org/
    http://www.codeproject.com/tips/doxysetup.asp

    1. Ein wenig Design
      Ein paar Entwurfs- und Implementationstechniken. Wieder: sieh, womit du am besten zurechtkommst.
      OOP ist natürlich immer noch ein gutes Fundament. Ich würde dir gern etwas empfehlen, daß das ganze nicht so abstrakt abhandelt, kenne aber leider nix. Jedoch hat auch OOP seine Schwachstellen - und es gibt "zeitgemäßere" Techniken die man sich zumindest mal anschauen sollte.

    Design Patterns - Eine Sammlung von "Best practices", welche Strukturen eine günstige Lösung für bestimmte Probleme sind. Ich hab' nen guten Link auf Arbeit (leider ibeschränkt sich viele Literatur hier wieder auf ds Aufzählen und Verkaufen von Design Patterns als "the next best thing")
    Agile Programming - Ein paar Konzepte Techniken aus XTreme programming sind auch für den Standalone-Coder oder ein konservatives Team sinnvoll http://www.codeproject.com/useritems/agileprogramming.asp

    Das Thema ist so weitläufig, daß es sich kaum auf einem Board abhandeln läßt.

    Und ein Gruß von meiner Katze: 9+68001,0 cxdfws vf c


Anmelden zum Antworten