8 Stimmen

Kürzere Benennungskonvention für Typen

Ich entwickle ein Framework, und einige der Objekte haben sehr lange Namen. Ich mag das nicht wirklich, aber ich mag auch keine Akronyme. Ich versuche, einen kürzeren Namen für "EventModelSocket" zu finden, im Grunde ein Wrapper um die .Net-Socket-Klasse, die verschiedene Ereignisse und Methoden zum Senden von Dateien, Objekten usw. implementiert. Einige der Objekte haben aus diesem Grund sehr lange Namen, wie zum Beispiel "EventModelSocketObjectReceivedEventArgs".

Ich habe alles versucht, vom Thesaurus über ein Wörterbuch bis hin zum stundenlangen Sitzen und Nachdenken.

Wie benennt man etwas am besten, wenn man in eine solche Situation kommt?

2voto

Ask Bjørn Hansen Punkte 6419

Entfernen Sie nicht die Vokale oder etwas ähnliches Verrücktes.

Ich schließe mich den Leuten an, die den langen Namen beibehalten wollen.

Ein Gedanke ist, dass, wenn die Namen so umständlich sind, das System vielleicht gründlich überdacht werden muss.

1voto

David Basarab Punkte 69965

Ich für meinen Teil verwende den langen Namen. Mit Intellisense ist das Eintippen des Namens nicht so wichtig, es sei denn, Sie verwenden einen 15-Zoll-Monitor.

Wenn ich den Namen kürzen müsste, würde ich EvtMdlSck nehmen, damit die Arbeit kürzer, aber immer noch verständlich ist. Auch wenn das nicht meine Vorliebe ist.

1voto

mP. Punkte 17565

Einige Kritikpunkte zu Ihrer Namensgebung...

Warum hat Ihr Bauteil das Wort "Modell" in seinem Namen - ist das nicht ein wenig redundant?

Da es sich bei Ihrer Komponente anscheinend um eine Art Messaging-Hub handelt, sollten Sie Message in ihrem Namen. Wie wäre es mit MessageSender.

Um Ihr Problem zu lösen, würde ich eine Schnittstelle erstellen und ihr einen generischen Namen geben wie MessageSender und eine Implementierung, die die Technologie in den Namen einschließt, wie RandomFailingSocketMessageSender.

Ein gutes Beispiel dafür sind die Java- oder .Net-Bibliotheken.

von Java. Interface - Klasse/Implementierungen... Karte - HashMap, LinkedHashMap. Liste - LinkedList

Angaben über die verwendete Technologie oder das verwendete Framework, z. B. Wörter wie "Socket" oder, um ein konstruiertes Beispiel zu verwenden, "MQSeries", sollten überhaupt nicht Teil des Schnittstellennamens sein.

MessageSender scheint IMHO den Zweck Ihrer Komponente zusammenzufassen. Es scheint seltsam, dass Ihr Ding, das "Dateien" und "Ereignisse" sendet, diese beiden beschreibenden Wörter nicht enthält. Das Zeug, das Sie in Ihrer Namensgebung verwenden, ist überflüssig und passt IMHO nicht zu Ihrer Beschreibung der Komponente.

0voto

DJClayworth Punkte 25458

Im Allgemeinen glaube ich an Klassennamen, die ihre Funktion genau beschreiben, und dass es in Ordnung ist, lange Namen zu haben. Wenn Sie der Meinung sind, dass die Namen wirklich zu lang werden, würde ich vorschlagen, ein Konzept zu finden, das Ihrem Programmierteam bekannt ist, und dieses abzukürzen. Wenn also "Event Model Sockets" ein Konzept ist, das jeder kennt, dann kürzen Sie es zu EMS ab. Wenn Sie ein Paket haben, in dem es ausschließlich um Event Model Sockets geht, dann kürzen Sie sie in allen internen Klassen dieses Pakets zu EMS ab. Der Schlüssel dazu ist, dass der Name für jeden, der mit dem Konzept nicht vertraut ist, vollständig und für jeden, der es kennt, abgekürzt ist.

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