Jak wielbłąda, gdzie kolejne słowa mają liczby?

21

Zastanawiam się, czy ktoś ma dobrą konwencję w tej sprawie. Naprawdę używam Javy, ale doszedłem do wniosku, że ludzie z C # również mogą mieć dobry wgląd.

Powiedzmy, że próbuję nazwać klasę, w której dwa kolejne słowa w nazwie klasy są numeryczne (zwróć uwagę, że to samo pytanie może dotyczyć nazw identyfikatorów). Nie można uzyskać świetnego przykładu, ale pomyśl o czymś takim jak „16-bitowa wartość IEEE 802”.

Łączenie kolejnych akronimów jest możliwe, jeśli zaakceptujesz nazwy klas, takie jak HttpUrlConnection. Ale to poważnie zmusza mnie do zwymiotowania na myśl o nazwaniu klasy IEEE80216BitValue. Gdybym musiał wybrać, powiedziałbym, że to nawet gorsze niż to, IEEE802_16BitValueco wygląda na zły błąd. W przypadku małych liczb rozważam, IEEE802SixteenBitValueale to nie jest tak dobrze skalowane.

Czy ktoś tam ma konwencję? Wydaje się, że wytyczne Microsoft dotyczące nazewnictwa są jedynymi, które opisują nazewnictwo akronimów wystarczająco szczegółowo, aby wykonać zadanie, ale nikt nie podał liczb w nazwach klas.

Rob I
źródło
1
Prawdopodobnie nie na temat SO, wciąż interesujące pytanie.
CodesInChaos
3
Prawdopodobnie poszedłbym w _razie potrzeby. Wszystko inne, o czym myślę (oprócz zmiany kolejności, gdy to możliwe) jest jeszcze gorsze. W twoim przykładzie Ieee802Value16Bitjest to, co zrobiłbym w twoim przykładzie.
CodesInChaos
Ups Doszedłem do wniosku, że istnienie tagu konwencji nazewnictwa było wystarczająco blisko, by przynajmniej na temat zapytać. :)
Proste: nie używaj futerału wielbłąda. Dzisiaj nie ma tego powodu, ponieważ linkery nie są ograniczone do 6 znaków w nazwach zewnętrznych. Unikam osadzonych wielkich liter w nazwach; moim zorientowanym na prozę oczom są zbyt niezręczni, by czytać wygodnie. Kręcą się jak zła typografia. - Rob Pike, „Uwagi na temat programowania w C”
4
@Kaz Mówimy tutaj o C # / Java. Również piękno jest w oku patrzącego. Osobiście uważam, że _jest brzydszy niż camelCase lub PascalCase.
CodesInChaos

Odpowiedzi:

12

Wymyślę nową nazwę zmiennej zamiast próbować dowiedzieć się, jakiej konwencji nazewnictwa należy użyć dla zmiennej podwójnej liczby

To powiedziawszy, jeśli absolutnie MUSZĘ użyć podwójnej liczby w mojej zmiennej nazwie i nie mogę zmienić kolejności słów / liczb, aby uzyskać coś rozsądnego, i absolutnie żadne inne imię nie ma sensu, użyłbym _między liczby

...

Właściwie to cofam, wymyśliłem nową nazwę zmiennej :)

Rachel
źródło
7
+1 Robimy sprzęt sieciowy w pracy, więc można by pomyśleć, że często pojawiają się nazwy klas związanych ze standardami, ale nie pamiętam tego problemu, więc przejrzałem naszą bazę kodu. Zamiast przedrostków, takich jak IEEE802, używamy ezoterycznych słów, takich jak „Ethernet” :-)
Karl Bielefeldt,
1
Co z SHA-512/256lub SHA3-256? Trudno mi wymyślić nazwy, które nie zawierają _.
CodesInChaos,
3

Osobiście wybrałbym trasę podkreślenia np IEEE_802_16_BitValue. Obecnie zajmowałem się modelowaniem niektórych architektur procesora, ten Q był dobrym czasem :-)

Martijn Verburg
źródło
2

Użyłem litery do rozgraniczenia kolejnych liczb. Dla mnie byłoby Ieee802x16bit( nie IEEE802x16bit ). Myślę, że jest to mniej rozpraszające niż samotne podbicie pośrodku dżungli liter i cyfr.

Nędzna zmienna
źródło