2010-08-26 4 views
21

Ich mag eine Schnittstelle für „Item“ erstellen. Typisch würde ich eine Schnittstelle nennen, indem ich einem Basiswort "I" hinzufüge. Aber in diesem Fall meines Grundwort beginnt bereits mit einem I. Hier sind ein paar Ideen, die ich je hatteWie kann ich eine Schnittstelle benennen, wenn das Basiswort mit einem I beginnt?

  • iItem: Zwei Ich
  • iItem: Variieren Sie den Fall
  • ItemInterface : Überspringe das I-Präfix und schreibe die Schnittstelle aus

Was sieht am besten aus? Hat jemand anderes auf dieses Problem gestoßen? Wenn ja, was hast du getan?

+7

Haha, das hat mich schon immer gestört. Freut mich zu wissen, dass ich nicht der Einzige bin;) –

+1

@Dan Tao: Natürlich stört es dich. Du bist ein Ingenieur. :) –

Antwort

27

Obwohl schwer zu lesen, IItem würde mit einigen bestehenden "II" Schnittstellen im Einklang:

+0

Ich hatte Mühe, Beispiele zu finden, die schnell, aber nicht gelingen ... :-) –

+0

@Stefan: Danke, es hat Spaß gemacht zu suchen! :) –

+0

Danke IItem es ist dann –

7

einfach IItem. Es besteht keine Notwendigkeit für eine Ausnahme.

Schnittstellen beginnen mit zwei Großbuchstaben (I [A-Z]), die sie als Schnittstelle kennzeichnen. Also Item ist keine Schnittstelle, aber IItem ist.

3

bearbeiten 2016.08.12: ich ursprünglich diese Antwort als eine alternative Perspektive auf Namenskonventionen vorgesehen. Mein tägliches C# verwendet jetzt I -prefixing, um Dinge idiomatisch zu halten und die kognitive Belastung durch Konsistenz zu reduzieren. Ich denke, dass Konsistenz wichtiger ist als die Probleme, die ich unten anspreche. Kurz gesagt, bleiben die Konventionen der Code-Basis in dem Sie arbeiten.


Nur Item. Nicht, weil die Schnittstelle mit einem I beginnt, sondern weil das Voranstellen von Klassen mit Kennbuchstaben nicht notwendig ist. Interfaces mit I zu verzieren ist so hässlich wie C vor Ihren konkreten Klassennamen zu schlagen (a la MFC). Präfix-Typen mit etwas sind genauso schlecht wie mit ungarischer Notation.

Sie könnten argumentieren, dass es Ihnen tatsächlich semantischen Wert gibt, aber ich bin nicht überzeugt. Ich habe eine moderne IDE und ich brauche meine Typennamen nicht komplexer zu sein.

+3

Also Postfixing mit dem vollen Namen ist besser als ein Ein-Buchstaben-Präfix? –

+0

@Esteban Araya: Entschuldigung, ich bin mir nicht sicher, ob ich verstehe, was du sagst. Wenn Sie dynamische Sprachen meinen, dann ist das ein ganz anderer flamewar :) –

+10

Sorry, -1 von mir, die Konvention innerhalb des .net-Framework ist für Schnittstellen mit "I" vorangestellt. Wenn Sie das nicht tun, wird Code erstellt, der für niemanden, der Ihre Codebase in Zukunft verwalten muss, nicht so verständlich ist. Wie es oder verabscheuen, Konsistenz ist König =) – Rob

2

Gemäß der .Net-Namenskonvention Vor der Schnittstelle sollte der Großbuchstabe "I" gefolgt von Name der Schnittstelle in Camel-Fall vorangestellt werden.

Deshalb schlage ich Ihnen Schnittstelle Artikel zur nennen wie:

IItem 

nicht notwendig am Ende ‚Schnittstelle‘ zu erwähnen, weil der Buchstabe ‚I‘ am Anfang selbst sagt, dass es Schnittstelle ist nicht erforderlich explizit erwähnen.

Verwandte Themen