Как верблюжьим случаем, когда в последовательных словах есть цифры?

21

Просто интересно, есть ли у кого-нибудь хорошее соглашение, чтобы следовать в этом угловом случае. Я действительно использую Java, но подумал, что у людей с C # тоже может быть хорошее понимание.

Скажем, я пытаюсь назвать класс, в котором два последовательных слова в имени класса являются числовыми (обратите внимание, что один и тот же вопрос можно задать относительно имен идентификаторов). Не могу получить хороший пример, но подумайте о чем-то вроде «IEEE 802 16 bit value».

Объединение последовательных сокращений выполнимо, если вы принимаете такие имена классов, как HttpUrlConnection. Но это серьезно заставляет меня задуматься о названии класса IEEE80216BitValue. Если бы мне пришлось выбирать, я бы сказал, что это даже хуже, чем IEEE802_16BitValueвыглядит как грубая ошибка. Для небольших номеров я бы подумал, IEEE802SixteenBitValueно это не так хорошо масштабируется.

У кого-нибудь есть соглашение? Похоже, что рекомендации Microsoft по присвоению имен - единственные, которые описывают наименование аббревиатур достаточно подробно, чтобы выполнить работу, но никто не обращался к числам в именах классов.

Роб I
источник
1
Вероятно, не по теме на SO, все еще интересный вопрос.
CodesInChaos
3
Я бы, наверное, пошел с этим, _если необходимо. Все остальное, о чем я могу думать (кроме переупорядочения, где это возможно), еще хуже. В вашем примере Ieee802Value16Bitэто то, что я бы сделал в вашем примере.
CodesInChaos
К сожалению. Я полагал, что наличие тега соглашения об именах было достаточно близко к теме, чтобы хотя бы спросить. :)
Просто: не используйте чехол для верблюда. Сегодня нет никаких причин для этого, потому что линкеры не ограничены 6 символами во внешних именах. Я избегаю заглавных букв в именах; на мой взгляд, ориентированные на прозу, они слишком неудобны, чтобы читать с комфортом. Они болтаются, как плохая типография. - Роб Пайк, «Заметки о программировании на C»
4
@Kaz Мы говорим о C # / Java здесь. Также красота в глазах смотрящего. Лично я думаю, что _это хуже, чем CamelCase или PascalCase.
CodesInChaos

Ответы:

12

Я бы выяснил новое имя переменной вместо того, чтобы пытаться выяснить, какое соглашение об именах использовать для переменной с двойным числом

Тем не менее, если я абсолютно HAD использовать двойное число в моем переменном имени, и я не мог переставлять слова / номер , чтобы придумать что - то разумное, и абсолютно никакого другое имя будет иметь смысл, я хотел бы использовать _между чисел

...

На самом деле я забираю это, я бы просто придумал новое имя переменной :)

Рейчел
источник
7
+1 Мы работаем над сетевым оборудованием, поэтому можно подумать, что имена классов, связанных со стандартами, часто встречаются, но я не помню, чтобы у меня возникла эта проблема, поэтому я просмотрел нашу базу кода. Вместо префиксов, таких как IEEE802, мы используем эзотерические слова, такие как «Ethernet» :-)
Карл Билефельдт,
1
Как насчет SHA-512/256или SHA3-256? Мне трудно придумать имена, которые не содержат _.
CodesInChaos
3

Я бы лично пошел по маршруту подчеркивания, например IEEE_802_16_BitValue. В настоящее время занимаясь моделированием некоторых архитектур ЦП, этот вопрос был удачным выбором :-)

Мартейн Вербург
источник
2

Я использовал некоторые буквы для разделения последовательных чисел. Для меня это будет Ieee802x16bit( не IEEE802x16bit ). Я думаю, что это менее отвлекает, чем одинокий underbar посреди джунглей букв и цифр.

Жалкая переменная
источник