Code-Tooltip (kein Tooltip für Buttons etc...)

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Code-Tooltip (kein Tooltip für Buttons etc...)

    Hi,

    bin vor 2 Tagen in eine neue Firma gekommen und dort begonnen VB.NET zu programmieren.

    Nun bekam ich ein Programm zugeteilt das ich erweitern soll, welches jedoch schon ziemlich viele Zeilen umfasst und sehr unübersichtlich ist, da der Vorgänger keinerlei Kommentare zum Programmcode geschrieben hat.

    Jetzt muss ich mich erstmal in das ganze Programm reinlesen und würde dabei aber gerne auch die fehlenden Kommentare anfügen.

    Nun gibt es in Java (oder vllt. geht das auch von Eclipse aus) z.B. die Möglichkeit über Methoden spezielle Kommentare zu verfassen welche dann, sollte man mit dem Mauszeiger im Code über den Methodenaufruf fahren, diesen Kommentar als Tooltip anzeigt.

    Meine Frage ist nun ob es in diese Richtung seitens VB.NET oder Microsoft Visual Studio etwas gibt um das zu realisieren.



    lg

    VB.NET Neuling
    in vb.net geht das mit den Dokumentations-Tags.

    Doku-Kommentare

    Ansonsten müssen die irre in deiner Firma sein, einen Anfänger auf ein Produktiv-System loszulassen.

    Sei bitte nicht beleidigt, dassich das so krass ausdrücke, aber du bezeichnest dich selbst als vb.net-Anfänger, nur kannst du nicht ahnen, wie grundlegend am Anfang ein vb.Net-Anfänger steht - egal, was für dolle annere Sprachen er sonst mw. aus dem ff beherrscht.

    Das einzig verantwortliche, was deine FA. tun kann, ist, dich dieses Buch lesen (hingegen das Galileio-Openbook ist Mist) durcharbeiten zu lassen.

    Mw. nebenher ein bischen in deine Aufgabe gucken, um im Buch gelerntes an der einen oder anneren Stelle vlt. anzuwenden.
    Zb. die Doku-Tags werden in dem Buch auch erwähnt.

    ein kleines Schlaglicht, wie VisualStudio tickt, kann dir vlt. auch mein Video geben: Visual-Studio richtig nutzen
    vmtl. gibts in Java-Eclipse vergleichbare Konzepte, dann wirste dich leichter einfinden, wenigstens was die Bedienung des VisualStudios angeht.

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

    Willkommen im Forum. :thumbup:
    Solcherlei Aufgaben sind mir sehr vertraut, das hab ich schon bei mehreren Projekten durch.
    Dass Du vom Programmieren nicht ganz viel Ahnung hast, ist leider suboptimal.
    Vielleicht ein paar Tipps:
    Lies die Quellen durch (nicht aber Arbeite die Quellen durch), um einen Überblick zu bekommen, was wo so vorkommt.
    Datenbankanbindung, GUI, "höhere" Mathematik (komplexe Berechnungen), "niedere" Mathematik (einfache Statistik) usw.
    Schreib da, wo Du solch identifiziert hast, sofort einen Kommentar hin mit dem Hinweis, dass es ein Übersichtskommentar ist, der noch nicht final den Coxde beschreibt, Dir aber zeigt, dass Du schon mal drüber gelesen hast.
    Wenn Du sicher bist, etwas verstanden zu haben, präzisiere den Kommentar, 3 oder 4 Zeilen beim Aufruf einer Prozedur, beliebig viel bei der Prozedur selbst.
    Arbeite dann diese Prozedur im Debug-Modus zeilenweise durch, kommentiere ggf. jede einzelne Zeile, insbesondere die Parameter der Prozedur und die internen Variablen.
    Wenn Du den Sinn einer Variable verstanden hast und sie hat einen kryptischen Namen, benenn sie um: rechter Mausklick -> Rename. Das Studio benennt dann alle Vorkommen dieser Variable um.
    Benenne auch Prozeduren mit kryptischen Namen um, schreib dazu, wie sie vorher hießen.
    Wenn Du dies in einer DLL machst, musst Du nach jeder Umbenennung die Projektmappe neu kompilieren, um die Stellen zu finden, wo Aufrufe einer umbenannten Prozedur ebenfalls umbenannt werden müssen.
    Überzeuge Dich nach wenigen Änderungen, dass das Programm noch kompiliert und noch läuft.
    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!
    Danke für die schnelle Antwort.

    Das mit den Doku-Tags habe ich bereits vorher in Google gefunden, was aber nicht das gewünshte Ergebnis brachte.

    Habe auch diese sogenannten XML-Kommentare probiert, welche im Prinzip das machen würden was ich will, aber von meinem Visual Studio nicht erkannt werden.



    Weiß gerade nicht was du mir damit sagen willst. Habe zwar noch nie zuvor VB.NET programmiert aber da ich lediglich Programme schreiben bzw. erweitern muss wo ich Daten aus der Datenbank für die Buchhaltung verwendungstauglich in Excel tabellen umschreibe ist das eigentlich kein Problem.

    Google + vorherigen Code analysieren funktioniert wunderbar.

    Zudem wollen die mich bestimmt nich ausbilden sondern eher mich die Arbeit machen sehen.



    lg
    VB.NET Neuling

    new_at_vb schrieb:

    Habe auch diese sogenannten XML-Kommentare probiert, welche im Prinzip das machen würden was ich will, aber von meinem Visual Studio nicht erkannt werden.
    Welches Studio hast Du?
    Du gibst in der Leerzeile über der Prozedur 3 Kommentarzeichen ein und feddich:

    VB.NET-Quellcode

    1. ''' <summary>
    2. '''
    3. ''' </summary>
    4. ''' <param name="sender"></param>
    5. ''' <param name="e"></param>
    6. ''' <remarks></remarks>
    7. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    8. End Sub
    ------------------

    new_at_vb schrieb:

    Zudem wollen die mich bestimmt nich ausbilden sondern eher mich die Arbeit machen sehen.
    Dann hast Du den falschen Chef, denn mit Null Ahnung nix gut Arbeit. ;(
    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!
    Lust auf bischen Praxis? Grad binnich einem Praktikanten auf die Nerven gefallen, mit 2 Kritiken an folgendem Schnipsel

    VB.NET-Quellcode

    1. Public Event ViewFilterChanged As EventHandler
    2. Public ViewFilter As New Predicate(Of Object)(Function(o) True)
    3. Private _HideAdminEntrys As Boolean = True
    4. Public Property HideAdminEntrys() As Boolean
    5. Get
    6. ChangeViewFilter()
    7. Return _HideAdminEntrys
    8. End Get
    9. Set(ByVal value As Boolean)
    10. _HideAdminEntrys = value
    11. End Set
    12. End Property
    13. Private Sub ChangeViewFilter()
    14. ViewFilterPredicates = _PredicateInfos.ConvertAll(Function(pi) pi.Predicate).ToList
    15. If _HideAdminEntrys Then ViewFilterPredicates.Add(_AdminFilter)
    16. ViewFilter = Function(o) ViewFilterPredicates.All(Function(p) p(o))
    17. RaiseEvent ViewFilterChanged(Me, EventArgs.Empty)
    18. End Sub
    2 DesignFehler in der HideAdminEntrys - Property - würdest du sie finden, in deiner Anwendung?

    ErfinderDesRades schrieb:

    2 DesignFehler

    RodFromGermany schrieb:

    Welches Studio hast Du?
    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!

    RodFromGermany schrieb:

    Welches Studio hast Du?
    MVS 10. Funktioniert jetzt nach Programmneustart aber plötzlich.


    RodFromGermany schrieb:

    Dann hast Du den falschen Chef, denn mit Null Ahnung nix gut Arbeit.
    Arbeite dort nur befristet auf 4 Monate da der Chef alleine die ganze Arbeit nicht schafft.

    Ahnung habe ich ja, nur nicht spezifisch in VB.NET, was in Zeiten von Google nicht wirklich ein Problem darstellt um die relativ einfachen Aufgaben (wobei hier die Funktion im Vordergrund steht) zu lösen. Sind ja alles nur interne Geschichten um es wie beispielsweise d er Buchhaltung es einfacher zu machen mit den Daten aus der Datenbank zu arbeiten.

    Und da die Programme machen was sie sollen, keine Bugs haben und nicht vor sämtlichen exploits geschützt werden weder 100% effizient sein müssen passt das ja :P


    ErfinderDesRades schrieb:

    Lust auf bischen Praxis?


    Immer!

    Würde die Sub-Routine nicht in diesem Property aufrufen

    Aber sonst keine Ahnung. Würd mich aber interessieren.



    lg

    VB.NET Neuling

    ErfinderDesRades schrieb:

    2010 - wofür ist das von Belang?
    Lesefehler, hat sich erledigt. :D

    new_at_vb schrieb:

    Arbeite dort nur befristet auf 4 Monate
    Ich hoffe, die Arbeitsaufgabe ist so klar definiert und untersetzt, dass Du zum Schluss überall Haken dran machen kannst.
    Wieviele Quellzeilen, wieviele Files, wieviele Klassen umfasst denn das Projekt?
    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!
    Tut mir leid, ohne vb.net-spezifische Ahnung bist du dem Chef ühaupt keine Hilfe.
    Schon die Idee, die Ahnungslosigkeit mit Google zu kompensieren lässt mich nur gruseln - hast du Visual-Studio richtig nutzen mal eines Blickes gewürdigt?

    Zum Sample:

    new_at_vb schrieb:

    Würde die Sub-Routine nicht in diesem Property aufrufen
    oh - wo würdeste sie dann aufrufen?

    2 Design-Prinzipien:
    1. Der Getter einer Property muß schnell sein.
      Nu ist ChangeViewFilter() unkalkulierbar langsam, denn dort wird ein Event ausgelöst, welches externen Code aufruft, der weißGottWas treibt.
      Es ist auch ein ganz triviales Code-Muster, dass im Setter einer Property abhängige Änderungen durchgeführt werden - also ChangeViewFilter() muß logisch im Setter aufgerufen werden.
    2. Ein Setter muß so schnell wie möglich sein.
      Ein gewisser Aufwand ist vlt. nicht immer zu verhindern (hier jdfs. nicht, wg des Events), aber dann muß der Setter üprüfen, ob ühaupt eine Änderung stattfindet. Weil wenn nicht, soll der Folge-Code logisch nicht ausgeführt werden.
    Korrekt also:

    VB.NET-Quellcode

    1. Public Property HideAdminEntrys() As Boolean
    2. Get
    3. Return _HideAdminEntrys
    4. End Get
    5. Set(ByVal value As Boolean)
    6. If _HideAdminEntrys = value Then Return
    7. _HideAdminEntrys = value
    8. ChangeViewFilter()
    9. End Set
    10. End Property




    Nochma zu deim Projekt: Ohne Ahnung darf man auch keine Kommentare schreiben. Weil falsche Kommentare verursachen natürlich Wartungsfehler, wenn jemand die liest, und sich drauf verläßt.

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

    ErfinderDesRades schrieb:

    Ohne Ahnung darf man auch keine Kommentare schreiben.
    Für sich selbst schon, allerdings ist da die Befristung suboptimal.
    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!
    Mein Problem hat sich erübrigt.

    Danke aber für die schnellen Antworten auch wenn 90% davon off-topic waren (wozu die Mühe - rethorische Frage).

    Jetzt weiß ich zwar das du sehr erfahren und kompetent in VB bist (ErfinderDesRades) aber das wollte ich nie wissen. Eigentlich nur die Lösung meines Problems.

    Bitte nicht als Beleidigung auffassen sondern eher als Feedback für das Forum.



    lg

    VB.NET Neuling
    Tja - so issas im Forum: Man bekommt fast immer mehr oder auch viel mehr Antwort als man gefragt hat. :D

    Man kann davon enorm profitieren - aber manch einer ziehts halt vor, sich drüber aufzuregen (zähle dich übrigens nicht dazu) - die sind aber dann selber schuld, und dene ist nicht zu helfen.

    Jetzt weiß ich zwar das du sehr erfahren und kompetent in VB bist (ErfinderDesRades) aber das wollte ich nie wissen.
    Wenn das wirklich alles ist, was du meinen Posts entnehmen konntest, dann sollichmich wohl erschießen.

    Immerhin habich deine Frage mit einem ausführlichen Link beantwortet, und ein Link für wie man VS nutzen kann, und ein Link für eine gute Buch. Das kann nicht alles vergessen sein über meinen letzten Post!
    Und da fressichn Besen quer, wenn dir die gegebenen Infos nicht enorm nützen.
    Sie können dir eiglich nur dann nix nützen, wenn du sie bereits kanntest, aber dann hätteste vmtl. auch den Thread nicht eröffnet.