Akronimy w Camel Back

Często widzę nazwy klas Javy jak

XmlReader

Zamiast

XMLReader

Moje przeczucie jest do całkowicie wielkich akronimów, ale widocznie wielu ludzi myśli inaczej. A może to dlatego, że wiele generatorów kodu ma problemy z akronimami...

Chciałbym więc wysłuchać opinii publicznej. Jak zapisać nazwy klas zawierające akronimy wielką literą?
Author: Benno Richters, 2009-07-24

6 answers

Używamy konwencji wielbłąda, jak Java i. NET do. Nie ze względu na generatory kodu, ale ze względu na czytelność. Rozważ przypadek połączenia dwóch akronimów w jednej nazwie, na przykład klasy, która konwertuje XML na HTML.

XMLHTMLConverter

Lub

XmlHtmlConverter
Który wolisz?
 50
Author: AronVanAmmers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-24 11:02:13

Dwa powody:

  1. łatwiej jest odróżnić, gdzie jeden akronim kończy się, a drugi zaczyna w identyfikatorach, gdzie są umieszczone po sobie, na przykład w XmlHtmlConverter. Teraz XML i HTML nie są takimi dobrymi przykładami, ponieważ każdy wie, czym jest XML i czym jest HTML. Ale czasami zobaczysz mniej oczywiste akronimy i wtedy staje się to ważne.
  2. Eclipse jest inteligentny ze słowami i ich Inicjałami. Dla XmlHtmlConverter, możesz wpisać XHC w otwartym oknie dialogowym tekst, a on go znajdzie. Dla XMLHTMLConverter Inicjały byłyby XMLHTMLC, co jest oczywiście nieco dłuższe.
 15
Author: jqno,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-24 11:09:19

Uważam, że XMLReader jest trudniejszy do odczytania. Powodem jest to, że nie można łatwo powiedzieć, gdzie słowa są rozdzielone. Uważam, że akronimy z małymi literami powinny zostać zaakceptowane. Możesz być w stanie użyć wielkich liter dla definicji klas, ale co z zmiennymi instancji:

XmlReader xmlReader;

Tutaj musisz używać małych liter i tak.

 3
Author: kgiannakakis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-24 11:02:42

Dla akronimów używam następującej reguły:

  • Jeśli akronim ma długość 2, Umieść akronim wielkimi literami.

      For Ex : UIRule
    
  • Jeśli akronim ma większą długość, używam obudowy Pascala dla akronimu

      For Ex : SmsValidation, XmlReader
    
 3
Author: Jey Geethan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-24 11:03:39

Przypadek Pascala jest używany w. NET framework. So

XmlReader

Jest preferowany w środowiskach Microsoft.

Muszę się zgodzić z AronVanAmmers, że jest to łatwiejsze do odczytania, że alternatywa.

Reference: Microsoft Design Guidelines for Class Library Developers

 2
Author: Thomas Bratt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-24 11:52:21

Uważam, że ogólnie nazwy klas powinny być pisane tak, jak oczekujesz, że zostaną przeczytane. Na przykład, wypowiadając na głos nazwę klasy, powiedziałbym "x-M-L reader", więc nazwałbym klasę "XMLReader". Jednak nazwałbym hipotetyczną klasę "REST service ""RestService", ponieważ ogólnie "REST" nie jest wymawiane "R-E-S-T", ale"rest". Dla czegoś takiego jak "SQL", mógłbym pójść w obie strony, ponieważ niektórzy ludzie mówią "S-Q-L", a inni mówią "sequel". Ale to naprawdę sprowadza się do osobistego preferencje.

 0
Author: Greg Brown,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-04 14:57:39