Größe und Zeilenanzahl im Project



  • Hallo,

    hätte mal eine Frage zur Größe und vor allem zum Windows Form Designer generated code. Wenn man sich ein Form erstellt, dazu ein paar Buttons, labels panels usw. Und dazu noch ein paar Events, dann hat man locker einen Code von 2000 Zeilen ... davon sind schon allein 1500 Zeilen generated Code!! Ich hab mal gelernt, dass über 1000 zeilen schlechter Stil wäre, oder trifft das auf VS 2005 nicht mehr zu ????

    Vieleicht gibts aber auch eine Möglichkeit in den Project Einstellungen, die das ganz generated Zeug auslagert ?? Wenn man da ein richtig großes Project aufziehn will, und das ganze in einem Fenster, dann steigt doch die Zeilenzahl ins irrsinnige und das wird total unübersichtlich. Auch wenn ich verschiedene Klassen anlege, die die ganzen funktionen übernehmen und so wenig wie möglich in die Events schreibe!

    Oder was sagt ihr dazu ???



  • also das mit dem generierten code keine ahnung ob man das abschalten bzw auslagern kann aber mal ein wenig fragen. Wer zwingt dich alle zeilen in ein projekt zu hauen. ich meine wozu gibt es libs, dlls, headers? und das mit den 1000 zeilen hää icvh meine 2-3 includes kloppen dein projekt nach der verlinkung ehh auch locker über 1000 zeilen. Deswegen schelchter stil ist da sicher das alles in einer header +cpp zu schmeisen das verstehe ich aber sonst. Was denkst haben allg. programme am ende an zeilen also sowas wie spiele, browser, textbearbeitung like office und der ganze andere mist. 1000 zeilen öhhm ist da nur ein bruchteil davon. daher große projekte, zerlege die eifach in mehrere projekte eine exe mit dazu gehörigen dll's und fertig. So bewarst du die übersicht und gleichzeitig brauchst nur das neu zu kompilieren was du verändert hast, ausser die veränderung zieht sich fort aber da musst ehh automatisch auch in den anderen projekten die anpassung vornehmen und damit auch veränderungen.



  • Das 1000 Zeilen schlechter Stil sind, ist blanker Unsinn, da M.E. sich Funktionsumfang zur Zeilenzahl halbwegs linear/proportional verhält.
    Mehr Funktionen -> Mehr Code
    Sicher ist generierter Code nicht immer gut, da er teilweise unnötiges enthält, muss jedoch gestehen, dass ich ihn selber nutze.
    In meinem größten Projekt ist ein Form allein 4500 Zeilen lang. Es besteht aus 5 Forms(zumeis kleinere), der Hauptpprojektdatei, standard-Headern, eigenen Headern.
    zusammen mindestens 7000 Zeilen. Mein Stil ist sicher nicht der beste, jedoch wird es schwierig sein, das selbe in weniger als 1000 Zeilen zu schreiben.

    Übrigens, aus Der Problem-Schilderung ersehe ich, das der Fragesteller möglicherweise ein gewisses Tutorial, das hier angeboten wird, gelesen hat(Notizen zu c++). Stimmt das???
    Dort ist die Rede davon(was ich für Quatsch halte) das Dateien mit mehr als 100 Zeilen "falsch" wären...



  • datein mit mehr als 100 zeilen falsch? ich wusste es kann doch micht coden *g das ist der größte mist den ich gehört habe. sowas sollte nicht öffentlich sein neueinsteiger bekommen doch da deprisionen^^, und ich kann mir kaum das lachen verkneifen 😃

    Ne echt schreib zeilen wie du lust hast ABER mach es übersichtlich und versuche es objektorientiert so zu trennen das du bestimmte codesegmente nicht xmal im code hast wenn es nicht nötig ist. Aber sonst hack rein was brauchst und kümmer dich nicht um die zeilen, sonst wirst nur doof im schädel.



  • Ach, pardon, ich meinte 1000 Zeilen, nicht 100. Tipfehler. In diesem Buch steht es so... Vielleicht sollte man dies mal durchsehen und schauen, ob sich das als Tutorial eignet, schreibt es meines erachtens doch nur alles vor...



  • Also generell sollte man sein Projekt schon so verwalten, daß man selbst (und auch andere) die Sourcen noch gut lesen (und verstehen) kann.
    Dazu gehört m.E. auch, daß einzelne Source-Dateien nur einen bestimmten Umfang haben sollten (max. ca. 1000-2000 Zeilen pro Datei).
    An den vom Designer generierten Code kann man schlecht etwas ändern, aber man sollte dann in diesen Form-Dateien auch so wenig eigenen Code wie möglich halten (z.B. nur die Events).
    Alles weitere (z.B. Logik, Unterformulare etc.) sollte dann wieder in getrennten Dateien (und Klassen) untergebracht sein.

    Der VS2005 unterstützt ja das Outlining, so daß man den designergenerierten Code mittels +/- ein- oder ausblenden kann.

    In C++ muß man ja nicht nur eine Source-Datei je Header haben.
    Man kann ja folgendes machen:

    // Form.h
    class Form
    {
    
    };
    
    // Form.cpp
    #include "Form.h"
    
    // ... designergenerierter Code
    
    // Form_Logic.cpp
    #include "Form.h"
    
    // eigener Code
    

    Und in C# wird ja ab Version 2 das Unterteilen von Code auch unterstützt (auch vom Formdesigner).



  • Was der Formdesigner erstellt, vorallem in der InitializeComponents, sollte genau da stehen bleiben wo er es hingeschrieben hat. Der Formdesigner in C++/CLI kann nicht mit zerlegten Daten umgehen!

    Der Rest ist Stielfrage und kann nicht eindeutig beantwortet werden. Man versucht halt die Methoden so klein wie machbar zu halten, aber manchmal ist es einfacher einen größeren Block zu haben als die Funktion der Zeilen wegen zu zerstückeln.

    Man kann sich selbst bei VS2005 einen gefallen tun und die Deklaration von der Definition trennen (aber Finger weg von der InitializeComponents) das erspart viele Fehler im Vorherein und kürzt u.U. die Übersetzungszeiten.

    Vieles hängt einfach vom Umfeld ab in dem ein Projekt verwendet wird. Ebenso wird die Praxis viel dazu beitragen. Eine große Anzahl an kleinen Dateien kann ebenfalls unübersichtlich werden.


Anmelden zum Antworten