6 Stimmen

Ungarisch in VBA okay?

Ich verwende in .Net keine ungarischen (str, int) Präfixe, aber ich finde sie immer noch nützlich in VBA, wo es schwieriger ist, Typen zu erkennen.

Ist das schlecht? Unnötig? Vielleicht übersehe ich etwas.

Ich würde mich über jedes Feedback wirklich freuen. Ich frage mich schon eine Weile.

Vielen Dank an alle.

6voto

Earlz Punkte 59611

Ich würde sagen, dass diese Art von ungarischer Notation die Wurzel allen Übels in fast jeder Sprache ist. Einige Leute sagen, dass es für extrem dynamische Sprachen praktisch ist. Aber nein, ich denke, dass das Voranstellen der Typ-Abkürzung an einen Variablennamen in 99% aller Fälle überflüssig ist und nur zu hässlichem Code führt.

siehe Warum sollte ich keine ungarische Notation verwenden?

5voto

Donal Fellows Punkte 125686

Ich würde empfehlen, sich für etwas zu entscheiden, das ein wenig höher ist als nur Typen, damit Sie den Zweck der Dinge sehen können. Statt also etwas einen string zu nennen, nennen Sie es einen name oder eine address, und statt eines int, nennen Sie es eine count oder eine coordinate oder ...

(Ich ziehe es vor, Suffixe statt Präfixe zu verwenden, aber das ist eine Frage des Stils und des Geschmacks.)

4voto

Dick Kusleika Punkte 31883

Ich verwende immer ein- und zweibuchstabige Präfixe in VBA. Ich bin mir sicher, dass ich der einzige bin, der das zugibt, aber ich dachte, jemand musste den Konträr sein.

Von den 18 Millionen Zeilen VBA-Code, die ich geschrieben habe, habe ich an etwa 1.000 mitgearbeitet. Wenn sonst niemand meinen Code sieht, bin ich frei, eine Konvention zu verwenden, die mir gefällt. Wenn jemand anderes an Ihrem Code arbeiten wird, sollten Sie sich auf eine Konvention einigen.

Ich mag es, weil es mir erlaubt, meine Variablennamen kürzer zu halten. Ich könnte FileNummer und Dateiname verwenden oder lFile und sFile verwenden. Ich finde nicht, dass eines mehr oder weniger lesbar ist als das andere. Es hilft mir auch, reservierte Wörter als Variablen zu verwenden. Wenn ich Replace als Variablennamen verwenden möchte, kann ich das nicht. Aber ich kann sReplace oder lReplace verwenden.

0voto

amelvin Punkte 8819

Wenn der Stil in Ihrem Unternehmen auf die Verwendung der ungarischen Notation eingestellt ist, gibt es kein Problem bei der Verwendung - eine Richtlinie ist eine Richtlinie. Es gibt viele Tools, die dabei helfen, Codierungsbenennungskonventionen durchzusetzen (wie Stylecop für C#), damit Sie fortfahren können, wenn Sie dazu berechtigt sind.

Im Grunde ist es eine gute Idee, Standards zu haben - aber welche Standards das sind, hängt vom Unternehmen ab, für das Sie arbeiten. Wenn Sie etwas Autorität haben, könnten Sie versuchen, die Standards zu erzwingen, die MS derzeit fördert - aber wenn Sie viel Legacy-Code haben, wird das mit wenig materiellem Nutzen mit viel Aufwand verbunden sein.

Ich würde empfehlen, dass Sie sich von der ungarischen Notation für neue Projekte entfernen (möglicherweise durch Nutzung eines Codeanalysetools), aber bei Legacy-Code pragmatisch vorgehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X