Autor
|
Thema: Dim - Statement (993 mal gelesen)
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 07. Jul. 2014 17:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Gemeinde, beim Lesen diverser Script-Zeilen hier im Forum fiel mir öfter mal eine Deklaration der Art Dim Text, Nocheintext as string auf. In obigem Beispiel wird für Text der Datentyp variant von VB vergeben (und nicht string!) Noch ein einfaches Beispiel: Dim a, b As Integer a = 5 / 7 b = 5 / 7 Debug.Print a, b Ergebnis: 0,714285714285714 1 Der zunächst angenommene Typ 'variant' für 'a' wird auf Grund des Ausdruckes 5/7 intern in eine Variable des Types 'Double' umgewandelt. Das kann zu ungewollten Ergebnissen führen. Nur zur Info.
Tschau, Joe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 08. Jul. 2014 10:01 <-- editieren / zitieren --> Unities abgeben: Nur für joehz
Das sind eigentlich Grundlagen der der VB-Programmierung. :-D War jetzt eine Frage, oder? ;-) Ich finde sowieso, dass man die Deklarationen immer am Anfang jeder Methode zeilenweise machen sollte. Hier im Forum gehe ich jedoch davon aus, dass es mehr um das Lösen der Probleme als die Einhaltung der bestmöglichen Form geht. :-) Allerdings weise ich die Autoren darauf hin, wenn die z.B. IF-Schleifen sagen, damit sich der falsche Therminus nicht auf unsere Neulinge überträgt. :-) ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 08. Jul. 2014 10:26 <-- editieren / zitieren --> Unities abgeben: Nur für joehz
Zitat: Original erstellt von HoBLila: Ich finde sowieso, dass man die Deklarationen immer am Anfang jeder Methode zeilenweise machen sollte.
Da hast du meine absolute Zustimmung. Manchmal lässt sich Latebinding leider nicht vermeiden, allerdings ist das nur in weniger als einem Prozent der Fall. Alles andere kommt bei mir noch vor den Try Catch und meistens geordnet nach Object > String > Boolean > Integer Object unterteile ich dann nochmal. Hierbei kommen API Objekte als erstes und nachfolgend erst die anderen in ihrer Wichtigkeit und ebenfalls sortiert Keine Ahnung, aber da bin ich ein Ordnungsfanatiker. Wo wir gerade dabei sind, könnten wir zwecks Leseoptimierung auch direkt über die Namensgebung sprechen. Ich fahre sehr gut damit, dass ich zum Beispiel bei String immer erst ein str vor den Variablennamen schreibe. Der Rest wird sinnvoll gekürzt. z.B. ein Dictionary mit einer Auflistung von Kabeln mit entsprechenden Attributen Dim dicCableAttrList as Dictionary(of String, Dictionary(of String, String)) Das sollte sich jeder angewöhnen zumindest in irgendeiner Art ein Schema in die Variablen zu bringen. So kann man zum Beispiel seine Zeiten für Fehlerbehebung drastisch reduzieren. ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 08. Jul. 2014 12:37 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von HoBLila:
Ich finde sowieso, dass man die Deklarationen immer am Anfang jeder Methode zeilenweise machen sollte.
Einverstanden! ;-) (mach' ich auch immer)
Zitat: Original erstellt von HoBLila:
Hier im Forum gehe ich jedoch davon aus, dass es mehr um das Lösen der Probleme als die Einhaltung der bestmöglichen Form geht. :-)
Schon klar. Ich will nur vermeiden, dass mit dem guten Lösungsweg lästige Fehlerquellen eingeschleppt werden. Nachdem ich mehrfach die beschriebene 'Dim'-Technik entdeckt habe, wollt' ich das mal thematisieren. Tschau, Joe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 08. Jul. 2014 13:22 <-- editieren / zitieren --> Unities abgeben:
|
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 08. Jul. 2014 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für joehz
Zitat: Original erstellt von joehz: Was meinst Du?
Also in erster Linie muss der Programmierer damit zurecht kommen, der daran arbeitet. Wenn dieser irgendwelche kryptischen Daten braucht, um sich schnell wieder einlesen zu können, dann ist das eben so. Zu Wohle aller anderen und in der Regel auch sich selbst, macht eine saubere Struktur Sinn. Wie diese genau aussieht und ob bzw. wie genau diese an allgemein gültigen Vorgaben/Vorschlägen angelehnt ist, bleibt wohl jedem überlassen. Arbeitet man im Team, sollte man sich hier abstimmen und ggf. Richtlinien festschreiben. Ich für meinen Teil habe mir auch "meine" eigene Struktur erarbeitet und wenn man bisschen Logisch an die Sache heran geht und vor allem nicht nur selbst lesen möchte, dürfte es nie weit von diesen in den Links beschriebenen Vorgaben entfernt sein. In meinen Augen ist die Lesbarkeit extrem entscheidend für Weiterentwicklungen und debuging. Hierbei entscheidend ist aber auch der Aufbau der Module. Ich für meinen Teil schreibe für "mehr oder weniger" jeden Code, den ich mindestens zweimal verwende eine eigene Funktion. Diese wiederum halte ich so neutral wie möglich und übergebe meistens sogar globale Variablen an dieses Modul. So bleibt diese Autark, auch wenn sich drum herum etwas ändert. Das hat mir schon so oft extrem große Änderungen sehr vereinfacht. Außerdem kann man die Module in der Regel eins zu eins kopieren und in anderen Projekten verwenden, ohne irgendetwas anpassen zu müssen oder gar Variablen etc. mit kopieren zu müssen. Aber gut jeder wird im Laufe seiner Programmierlaufbahn seine Techniken entwickeln und bestimmte Dinge optimieren. Zumindest die, die gut oder gar besser als andere werden wollen ------------------ MFG Rick Schulz
Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|