Grundsatzproblem: Dokumentation!

  • Hallo, hallo.


    Ich bin ein sehr engagierter und ambitionierter Mensch und bin, wie viele andere auch, der Meinung, man sollte nicht immer nur nehmen, sondern auch mal geben. Aus diesem Grund hatte ich mich daran gemacht, ein(en) Patch [Bekannt als Autoshifting] und ein Plugin [bekannt als Login] zu basteln.


    Aber da die Dokumentation des VDR-Quellcode mehr als dürftig, ja, eigentlich GAR NICHT VORHANDEN ist, war ich beim ersten Patch gezwungen über 8 Stunden Zeit zu investieren, NUR UM DEN QUELLCODE einigermaßen zu verstehen. Zu diesem Zeitpunkt HATTE ICH NOCH NICHTS SELBST programmiert.


    Und naja. beim Plugin nicht anders. Es gibt da zwar nen paar kleinere Hilfen (das newplugin-scripts z.B.), aber nichts desotrotz bekomme ich es nach weiteren 4 Stunden reinen Quellcode-lesens (VDR + diverse Plugins) noch immer nicht hin auch nur einen STRICH AUF DAS OSD zu malen.


    Klar. Ich bin kein absoluter Spitzenhacker, aber dennoch eigentlich gut in der Lage quellcode zu verstehen. Aber ich denke auch nicht, dass das Hauptprolem in diesem Fall bei mir liegt, sondern in der wirklich mehr als mangelhaften Dokumentation.


    Ist es denn wirklich so schwer, nachdem man eine Funktion geschrieben hat, einfach ein

    Code
    1. /* diese Funktion bewirkt das und das, der parameter a beeinflusst das so */

    dazu zu schreiben? Ich möchte hier nicht die Arbeit von KLS oder irgendeinem der Plugin-Developer schmälern, ich möchte euch nur darauf hinweisen, dass diese Art der Arbeit nicht gut ist. Denn die Folge ist, dass nur noch eingefleischte SuperGurus in der Lage sind den Quellcode zu verstehen und dafür gut zu programmieren.


    In diesem Board gibt es viele, gute Ideen und ich bin davon überzeugt, dass viel mehr davon umgesetzt würden, wenn einfach mehr Menschen überhaupt dazu in der Lage wären. Klar, man braucht Programmiererfahrung, aber daneben braucht man eben auch ZUGANG ZUM QUELLCODE - das heißt nicht nur, man muss in lesen dürfen, nein es gehört dazu, dass er verstanden werden muss. Und dieser zweite Schritt, was nicht wirklich verwunderlich ist, ist bei solchen komplexen Projekten wie dem VDR einfach sehr schwer.


    Und wenn dieser zweite Schritt irgendwie vereinfacht würde, was sicher mit einer einfachen Dokumentation des Quellcodes der Fall ist, würde sich mehr Leute an die Arbeit des Schreibens von Patches und Plugins herrantrauen und nicht so früh aufgeben müssen, weil sie einfach nicht weiterkommen.


    Und wenn das projekt immer komplexer wird, was zwangsweise der Fall ist, so werden dank der mangelden Dokumantation immer weniger damit arbeiten können und das bedeutet für solch ein Projekt: es stirbt, was sehr schade wäre.


    So. Ich bin meine Meinung los geworden. Sagt dazu, was ihr wollt, aber eins ist FAKT: Das Autoshifting und ein LogIn-Plugin (damit der vdr multi-user-able wird) kann ich derzeit nicht liefern und dafür mach ich eine mangelde Dokumentation verantworlich.


    bn



    (Oder meint ihr wirklich, dass wenn ich eine Funktion in einer Klasse des VDR finde, die Parameter benutzt, dass ich erst den ganzen Quellcode durchforste, um herrauszufinden, was ich da eingeben muss, damit das so läuft ich es mir vorstelle)

  • Ich hab ja noch nie im VDR-Quellcode rumgelesen, aber moeglicherweise kannst Du ja Deine 8+4-Stunden Arbeit in Form von Quellcode-Kommentaren an KLS senden - dann war das nicht ganz fuer die Katz...



    Kann Dir aber nur beipflichten, ich sitze gerade erstmals an einem Projekt mit 3 Programmierern und stelle entsetzt fest, wie wichtig Kommentare und ein paar gemeinsame Grundregeln bei der Nomenklatur sind...



    Ist aber schon bei uns dreien trotz Regeln ein heilloses Chaos - das ist bei so einem Community-Produkt wie dem VDR+Plugins natuerlich nochmal eine andere Liga...
    Hannes


    robbitobbi://Scenic xB @ 866MHz/~Nexus2.1 - Budget TT 1.0 (Empfangs-VDR)
    fliewatueuet://ScenicxB @ 800MHz/~i810fb-xinelibout (Client)

  • Auffn OSD zu zeichnen ist doch das einfachste und wird in osd.h genau
    und ausfuehrlich beschrieben.


    Schau dir doch die Plugins an. Da lernst du am meisten :


    Geht fast immer so :



    Schau dir weatherng an , das ist easy und dafuer braucht man nicht studieren ;)

  • Hi!


    Wenn ich versuche was zu proggen, dann habe ich eigentlich immer die doxygen-Doku auf dem VDR-Wiki offen und versuche dann mir Plugins anzuschauen die ev. ähnliche Probleme gelöst haben .... spart einige Zeit.


    Grundsätzlich wäre es natürlich schön, wenn noch mehr Kommentare im Code wären, aber ich bin eigentlich auch meist zu faul für sowas ...


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -