Zwei Fragen: Aufteilung eines Programms und VB 2017

  • VB.NET
  • .NET (FX) 4.0

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    @MichaHo: So what? Projekteigenschaften => Verweise => importierte Namespaces: Microsoft.VisualBasic rausnehmen und stattdessen in jede (betroffene) Datei Imports Microsoft.VisualBasic rein. Das gleiche mit Option Strict: bei Projekteigenschaften => Kompilieren: Option Strict On und in alle betroffenen Dateien Option Strict Off schreiben => Es bleibt erstmal alles am Laufen, aber man kann (wenn man alles schön gesichert und ausreichend Zeit hat) eine oder beide Zeilen in (erstmal) einer Datei entfernen und sich ans Aufräumen machen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    jo - so viel mehr ist meine "Strategie" eiglich auch net.

    Also Ziel ist ja, folgende Projekt-Einstellungen flächendeckend einzuführen:
    1. Option Strict On
    2. GeneralImport Microsoft.Visualbasic Off
    Das ist ja zunächstmal schnell eingestellt.
    Problem beim nachträglichen Einstellen bei großen Solutions, die aus mehreren fetten Projekten bestehen: Hunderte von Fehlern, alle trivial, aber dennoch kaum auf einen Rutsch korrigierbar.
    Und solange nicht alles korrigiert ist, kann kein Testlauf erfolgen.
    Daher die Strategie: "Unfug eiglich nicht antasten, nur immer sichtbarer machen."
    Dabei die Sichtbarkeit immer näher an die Unfug-Stellen heranbringen. Und auch das in mehreren Schritten.
    Weil zunächstmal ist der Unfug ja zentral, und vollkommen verborgen, in den Projekteinstellungen.


    Also hier den ganzen Prozess aufgedröselt in möglichst kleine Schritte:
    • Backup machen / SourceControl committen!
    • Projekteinstellung Option Strict On
    • alle Dateien mit Option Strict Off überschreiben - nun sind die StrictOff-Fehler wieder weg, aber der Unfug ist Dateiweise sichtbar
    • je Datei das Option Strict Off wegmachen, und alle Fehlerstellen mit Ctype(bla, ZielTyp) "korrigieren" - jetzt ist der Unfug genau da sichtbar, wo er stattfindet.
      dazu ein Standard-Kommentar ' #OSO, oder sowas - dann kann man mit Textsuche die Stellen aufsuchen, und wirklich heilen.
    • Backup machen / SourceControl committen
    • GeneralImport Microsoft Visualbasic - Häkchen rausnehmen
    • GeneralImport Vb6 = Microsoft.Visualbasic hinzufügen!
    • GeneralImport Microsoft.Visualbasic.ControlChars hinzufügen
    • Wenn man schoma dabei ist:
      weitere GeneralImporte entfernen, wie System.Collections, System.Xml.Linq, System.Threading.Tasks, System.Drawing, System.Diagnostics, System.Windows.Forms
      Halt alles Zeugs, was man nicht überall braucht, sollte auch nicht überall importiert sein.
      Hingegen sicherstellen, dass System.Linq da ist - weil das braucht man überall.
      (Dieser Punkt ist aber nicht eiglich Bestandteil der "Strategie")
    • Alle Dateien mit Imports Vb6 überschreiben - nun sind die Vb6-Fehler wieder weg, aber die Vb6-Grütze ist auf Datei-Ebene sichtbar.
    • Backup machen / SourceControl committen
    • Dateiweise Imports Vb6 wieder wegmachen, und alle Vb6-Grütze-Stellen behandeln, indem man an jeder Stelle Vb6. davorschreibt, etwa:

      VB.NET-Quellcode

      1. dim sAnAn = Vb6.Mid("Banana", 2, 2) & Vb6.vbCrlf & "an"
      Nun ist auch der Vb6-Unfug an den Stellen sichtbar, wo er stattfindet, und ist auch mit TextSuche nach Vb6 auffindbar.
    • auch die Vb6-Stellen im Einzelnen "heilen" - etwa

      VB.NET-Quellcode

      1. dim sAnAn = "Banana".SubString(1, 2) & CrLf & "an"
      (Hier greift der neue GeneralImport Microsoft.Visualbasic.ControlChars, und stellt Text-Steuerzeichen zur Verfügung, wie CrLf, Tab, statt früher vbCrLf, vbTab)
    • Backup machen / SourceControl committen
    Jo, das wars schon - viel Spass ;)

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „ErfinderDesRades“ ()

    ErfinderDesRades schrieb:


    Meine Strategie "Erstmal den Unfug nur sichtbar machen" beinhaltet noch weitere Schritte - auch mittm vb6-Namespace - Interesse?


    @ErfinderDesRades: Sorry, war gestern erst mal Platt!!... Hab heute mal angefangen Icons zu entsorgen, fast 300 sind raus und siehe da, VS liegt jetzt nur noch zwischen 700 MB und 1,4 GB und nicht mehr am Anschlag von 2 GB. Direkt nach dem Laden des Projektes sogar nicht bisserle über 500 MB. Also weiter ausmisten.
    Nebenher auch mal Code angeguggt, ach... was soll ich sagen, is halt so wa ! :)

    Ja klar hätte ich an sowas Interesse, wenn es hilft es besser zu machen ... auf jeden Fall !!

    michl75 schrieb:

    Nach Option strict on kommen erst mal viele viele viele weitere Punkte die abzuarbeiten sind.
    Da wäre zum Beispiel die Codeanalyse, die deckt verborgene und potenzielle Fehler auf:

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!