Какая у вас система, чтобы избежать столкновений при именовании ключевых слов? - PullRequest
4 голосов
/ 12 января 2009

Как правило, в языках есть ключевые слова, которые вы не можете использовать напрямую с точно таким же написанием и регистром для именования вещей (переменных, функций, классов ...) в вашей программе. И все же иногда ключевое слово является единственным естественным выбором для обозначения чего-либо. Какова ваша система, чтобы избежать / избежать этого столкновения в выбранной вами технологии?

Ответы [ 16 ]

0 голосов
/ 13 января 2009

За 15 лет программирования у меня редко возникала эта проблема.

Одно место, о котором я могу сразу подумать, это, возможно, класс CSS, и в этом случае я бы использовал более описательное имя. Поэтому вместо «class» я мог бы использовать «targetClass» или что-то подобное.

0 голосов
/ 13 января 2009

Разработка в Ruby on Rails Когда-нибудь я посмотрю этот список зарезервированных слов .

0 голосов
/ 13 января 2009

Я пишу свои собственные подсветки синтаксиса [vim] для каждого языка, и я даю всем ключевым словам очевидный цвет, чтобы я заметил их при кодировании. Такие языки, как PHP и Perl, используют $ для переменных, что делает его не проблема.

0 голосов
/ 12 января 2009

Обычно я следую венгерской нотации. Поэтому, если по какой-либо причине я хотел бы использовать End как переменную типа integer, я бы объявил его как iEnd. Строка будет 'strEnd' и т. Д. Это обычно дает мне место для переменных.

Если я работаю над конкретным личным проектом, на который другие люди когда-либо будут смотреть, чтобы увидеть, что я сделал, например, когда создавал дополнение к игре, используя UnrealEngine, я мог бы использовать свои инициалы где-нибудь имя. 'DS_iEnd' возможно.

0 голосов
/ 12 января 2009

Счастливых с языком без каких-либо ключевых слов ...

Но, кроме шуток, я думаю, что в тех редких ситуациях, когда «все же иногда ключевое слово является единственным естественным выбором для обозначения чего-либо». Вы можете обойтись, добавив префикс «my», «do», «_» или аналогичный.

Я, честно говоря, не могу придумать много таких случаев, когда одно только ключевое слово делает хорошее имя ("int", "for" и "if" в любом случае определенно плохие). Единственными немногими в семействе языков C, которые могут иметь смысл, являются «continue» (сделать его «doContinue»), «break» (как насчет «breakWhenEOFIsreached» или подобное?) И уже упомянутый «class» (как насчет «classOfThingy») "?).

Другими словами: сделайте имена более разумными. И всегда помните: код пишется только один раз, но обычно ЧИТАЙТЕ очень часто.

0 голосов
/ 12 января 2009

Моя система в Java состоит в том, чтобы использовать заглавную букву второй буквы слова, например:

 int dEfault;
 boolean tRansient;
 Class cLass;
...