Как сделать заглавные буквы в названиях сущностей? - PullRequest
7 голосов
/ 09 января 2009

Давайте на минутку предположим, что вы программируете на языке, который использует верблюжьи слова для идентификаторов, по соглашению. Все, что вы используете в Ruby с именами методов, разделенных подчеркиванием, могут использовать это.

Какой подход вы используете для заглавных букв после первого, когда ваше имя содержит аббревиатуру? Например, вы бы назвали метод createSQLBuffer или createSqlBuffer? Есть ли у вас политика, предписывающая, что делать в этой ситуации? Более того, может ли кто-нибудь связать меня с некоторыми статьями, специально рекламирующими одну или другую, или на самом деле что-нибудь, что вообще касается этого?

Я знаю, что это не так уж и сложно, но по какой-то причине я иногда сталкиваюсь с методом / классом / переменной, написанными заглавными буквами в одном направлении, и в другом случае это выглядело бы более естественно. Странно то, что я даже не уверен, что это соответствует; я не удивлюсь, если обнаружу, что мне нравятся заглавные буквы для одних имен и строчные для других.

Кто-нибудь хочет поделиться своим мнением по этому поводу?

Ответы [ 5 ]

11 голосов
/ 09 января 2009

Я фанат трактования сокращений как одного слова при использовании заглавных букв, поэтому мне нравится createSqlBuffer.

4 голосов
/ 09 января 2009

В правилах именования .NET (даже если они указаны в паскалях) предлагается использовать только заглавную букву в аббревиатуре, если только она не двухбуквенная (т. Е. createSqlBuffer, но createIOBuffer).

3 голосов
/ 09 января 2009

ИМО, использование заглавной буквы только в первой букве аббревиатуры имеет смысл, когда речь идет о верблюжьей оболочке, хотя бы потому, что использование заглавной буквы всего слова нарушает поведение верблюжьей оболочки. Предполагается, что заглавные буквы в верблюжьем слове указывают начало каждого слова, а не соответствуют обычным английским правилам. Если вы пишете в верхнем регистре всю аббревиатуру, вы теряете четкое разделение между концом аббревиатуры и началом следующего слова.

Также легче печатать (и немного приятнее на глаз) только с одной заглавной буквы.

Я согласен с IO и большинством других двухбуквенных сокращений. Я бы обычно оставлял их заглавными, даже учитывая вышесказанное. В конце концов, это действительно о том, что легче читать.

1 голос
/ 09 января 2009

Мой опыт показывает, что обычное соглашение состоит в том, чтобы рассматривать заглавные буквы как разделители слов, т. Е. Использовать SQL, а не UseSQL. Правильный ответ - использовать любое соглашение, которое делает код понятным, и использовать его последовательно. Как указывает JeeBee, это может зависеть от предположений ваших инструментов.

1 голос
/ 09 января 2009

На первый взгляд может быть немного проще иметь fudgeSql (), чем fudgeSQL (), но последнее иногда кажется более правильным в определенных контекстах.

Будут времена, когда вы в конечном итоге будете иметь аббревиатуру и другую аббревиатуру рядом друг с другом в имени класса или имени метода, и это не так приятно. Кроме того, когда я печатаю, немного проще использовать только одну прописную букву. Однако я не думаю, что было бы хорошо иметь его во всех случаях. Конечно, I / O -> IO, я бы не хотел видеть Io (луну Юпитера) как часть имени класса или метода. Может быть, это одна из тех вещей, которая субъективна и зависит от самой аббревиатуры. Пока вы последовательны ...

Одна вещь, в Java, с геттерами и сеттерами, состоит в том, что с верхним регистром ваши переменные в конечном итоге должны быть:

private ACRO aCRO;

а не лучше

private ACRO acro;

потому что сгенерированные геттеры и сеттеры (во всяком случае, в Eclipse)

void setAcro(ACRO acro)

несовместимы с соглашением об именах.

void setACRO(ACRO aCRO);

Если вы понимаете, о чем я.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...