Entwicklertools - Was gibts da so aufm Markt?



  • gewöhne dir einfach an kurze Funktionen zu schreiben. Lager so viel Code in einzelne Funktionen aus, wie geht.

    Je nach dem was eine Funktion macht, schreibt man eben relativ große Funktionen am Anfang. Aber dann sollte man sie möglichst schleunig unterteilen.



  • Jede Funktion bekommt ihre eigene Aufgabe zugeteilt, so einfach. In der main-Funktion ruft man dann diese Funktionen je nach Belieben auf.



  • mikey schrieb:

    Also ich habe z.B. das Problem, dass wenn ich größeren/viel Code schreibe ich zwar oft die Funktionen recht unabhängig schreibe aber trotzdem alles in einem unstrukturierten gefelcht endet in dem ich(als eigener Programmieren) nur relativ schwer zurecht komme....

    Nennt sich dann "Spaghetticode", da hilft kein Tool dagegen. Aber mit der Zeit lernt man das saubere Programmieren, nicht umsont gibt es das OOP-Konzept in C++. Und was du für Tools brauchst, hängt immer davon ab, was du machen möchtest. Generell reicht eine IDE (natürlich mit Compiler), und das war's

    Ich bin da noch radikaler. Ich verwende keine IDE, sondern nur vim oder gvim mit den autotools. Das ist zwar eine sehr spartanische Arbeitsweise, aber es hilft meiner Meinung nach, seinen Code besser zu strukturieren, da das das einzige Hilfsmittel ist, in seinem eigenen Code noch durchzublicken. Selbst zum debuggen verwende ich keinen debugger, sondern logging. Und valgrind ist ein klasse Tool 👍 .

    Tntnet



  • Also ich programmier nun seid ca. ~1Jahr und versuche schon viel in einzelne Funktionen auszulagern, daher ist das nicht unbedingt Spagehtticode. Mein Problem liegt er daran, dass ich z.B. später nicht mehr genau weiss welche Funktion wiederum welche anderen (eigenen)Funtionen aufruft etc. Dachte da gäbs Tools die dort eine gewisse Übersicht schaffen können z.B. durch auflisten aller Funktionen + Unterfunktion, sodass man eine Übersicht hat und dann den Code allgemein besser strukturieren kann.
    OOP sollte ich auch mal (mehr) mitbenutzen 🙂



  • Pille456 schrieb:

    Also ich programmier nun seid ca. ~1Jahr und versuche schon viel in einzelne Funktionen auszulagern, daher ist das nicht unbedingt Spagehtticode. Mein Problem liegt er daran, dass ich z.B. später nicht mehr genau weiss welche Funktion wiederum welche anderen (eigenen)Funtionen aufruft etc. Dachte da gäbs Tools die dort eine gewisse Übersicht schaffen können z.B. durch auflisten aller Funktionen + Unterfunktion, sodass man eine Übersicht hat und dann den Code allgemein besser strukturieren kann.
    OOP sollte ich auch mal (mehr) mitbenutzen 🙂

    Ja, solche Programme gibt es. Im Grunde kann dir jeder Profiler solche Call-Strukturen anzeigen, aber ich bin sicher da gibts auch eigene Programme dafuer, evtl. einfach mal googln.
    Aber im Prinzip solltest du selber wissen, welche Funktion was aufruft. Fuer mich klingt das immer noch wie Spaghetti-Code, wenn jede Funktion kreuz und quer jede andere aufruft (oder aufrufen darf). Versuch, deine Funktionen zu Modulen zusammen zu fassen, die moeglichst unabhaengig sind, und definier klare Schnittstellen zwischen den Modulen. 🙂



  • Doxygen ist z.B. so ein Tool. Da wir schon beim Thema sind, der Thread dürfte recht interessant sein: Eure Lieblings Entwicklertools

    MfG mikey.



  • *doppelpost*



  • Naja ich hab das bisher so geregelt, dass ich z.B. eine Funktion hatte die eine Linie von A nach B zieht. Diese Funktion wird von viele anderen Funktionen benutzt und die wiederum ist z.B. im Header und einer Funktion Refresh() zusammengefasst.
    Daher, ich rufe eine Funktion auf mit großer Wirkung, aber wie die Funktion arbeite ist dann recht schwer nachzuvollziehen



  • Blue-Tiger schrieb:

    *doppelpost*

    Schneller gewesen, was? :p
    @Pille: Ist das Programm das richtige?



  • Pille456 schrieb:

    ....aber wie die Funktion arbeite ist dann recht schwer nachzuvollziehen

    Warum? Und warum interessierts dich ueberhaupt? Wenn du eine Funktion aufrufst, soll es dich gar nicht interessieren wie die Funktion intern arbeitet, Hauptsache sie tut ihren Job.
    Und wenn du viele kurze Funktionen hast, dann sind die doch wesentlich leichter nachzuvollziehen als lange Funktionen, oder?



  • Na klar, aber ich wolltle doch schon meine eigenen Funktionen verstehen! gerade zum debuggen wichtig...
    aber danke, habt mir geholfen, @mikey das Programm sieht gut aus, ich probier das mal...



  • Pille456 schrieb:

    Na klar, aber ich wolltle doch schon meine eigenen Funktionen verstehen! gerade zum debuggen wichtig...
    aber danke, habt mir geholfen, @mikey das Programm sieht gut aus, ich probier das mal...

    Was heißt du solltest schon deine eigenen Funktionen verstehen?
    Von denen hast du doch den Quellcode und kannst beim debuggen ja "reinsteppen"



  • Joa klar, aber wenn eine funktionierende Funktion irgendwann unter bestimmten Bedingungen (die man nicht durch 10mal-Tests findet) murks baut kann das ganz schön dauern.
    Wenn ich dann aber relativ genau weiss was wie wo warum in der Funktion steht kann das schonmal einfacher werden





  • Pille456 schrieb:

    Joa klar, aber wenn eine funktionierende Funktion irgendwann unter bestimmten Bedingungen (die man nicht durch 10mal-Tests findet) murks baut kann das ganz schön dauern.
    Wenn ich dann aber relativ genau weiss was wie wo warum in der Funktion steht kann das schonmal einfacher werden

    Wenn deine Funktionen kurz sind, dann versteht man sie leichter und es gibt weniger Sonderbehandlungen etc. die Fehler produzieren könnten.
    Wenn es dennoch schwer verständliche Stellen gibt, dann musst du da einen Kommentar hinschreiben.
    Und du solltest die Funktion selber Kommentieren, damit du weiß was die Funktion tut.

    Du könntest Pre/Post-Conditions einbauen (gibt fertige Tools, da kannst du die in Kommentare schreiben, ansonsten gehts auch mit assert), dadurch kannst du quasi sicherstellen, dass die Funktion immer in einem gültigen Zustand arbeitet. Ansonsten bekommst du einen Fehler, dass eine der Bedingungen verletzt wurde.



  • Pille456 schrieb:

    Joa klar, aber wenn eine funktionierende Funktion irgendwann unter bestimmten Bedingungen (die man nicht durch 10mal-Tests findet) murks baut kann das ganz schön dauern.
    Wenn ich dann aber relativ genau weiss was wie wo warum in der Funktion steht kann das schonmal einfacher werden

    Und genau dafuer gibts debugger 😉



  • ------- schrieb:

    Understand for C++
    http://www.scitools.com/products/understand/cpp/product.php

    👍
    ja, das ist wirklich gut.



  • vista schrieb:

    ------- schrieb:

    Understand for C++
    http://www.scitools.com/products/understand/cpp/product.php

    👍
    ja, das ist wirklich gut.

    Und richtig gut wäre das Tool, wenn es irgend eine Ahnung von Templates hätte.
    Die werden leider (offiziell !!) nicht unterstützt.



  • Redhead schrieb:

    vista schrieb:

    ------- schrieb:

    Understand for C++
    http://www.scitools.com/products/understand/cpp/product.php

    👍
    ja, das ist wirklich gut.

    Und richtig gut wäre das Tool, wenn es irgend eine Ahnung von Templates hätte.
    Die werden leider (offiziell !!) nicht unterstützt.

    naja, das stört mich weniger, ich durchforste damit fast ausschliesslich C-projekte und dafür ist es spitze.
    übrigens gibt es auch einen mitbewerber. vielleicht kommt der besser mit templates klar?
    --> http://www.sourceinsight.com/



  • mikey schrieb:

    Doxygen ist z.B. so ein Tool. Da wir schon beim Thema sind, der Thread dürfte recht interessant sein: Eure Lieblings Entwicklertools

    MfG mikey.

    gibts das auch für Suse?


Anmelden zum Antworten