Variable_Names_With_Bloody_Underscores
или даже хуже
CAPITALIZED_VARIABLE_NAMES_WITH_BLOODY_UNDERSCORES
должны быть полностью опровергнуты! CamelCapsAreJustFine. (Глобальные константы не выдерживают)
Операторы GOTO предназначены для использования разработчиками в возрасте до 11 лет
Любой язык, не поддерживающий указатели, не достоин названия
. Net = .Bloat Лучший пример усилий Microsoft по разработке веб-сайтов (Expressionless Web 2) - это лучший пример медленного раздутого cr @ pw @ re когда-либо написанного. (вместо этого попробуйте Web Studio)
Ответ: Хорошо, позвольте мне немного затронуть проблему Underscore. Из ссылки C вы указали:
-Глобальные константы должны быть заглавными буквами с разделителями '_'. Я на самом деле согласен с этим, потому что это BLOODY_OBVIOUS
- возьмем, например, NetworkABCKey. Обратите внимание, как перепутаны C из ABC и K из ключа. Некоторые люди не возражают против этого, а другие просто ненавидят это, поэтому вы найдете разные политики в другом коде, чтобы вы никогда не знали, как что-то вызвать.
Я подпадаю под первую категорию. Я выбираю имена ОЧЕНЬ тщательно, и если вы не можете сразу понять, что K принадлежит Key, то, вероятно, английский не ваш родной язык.
Имена функций C
Обоснование
* It makes C functions very different from any C++ related names.
Пример
int some_bloody_function () {}
Эти «стандарты» и соглашения это просто произвольные решения, вынесенные во времени. Я думаю, что в то время как они имеют определенное количество логического смысла, они загромождают код и создают что-то, что должно быть коротким и приятным для чтения, неуклюжим, длинным и сложным.
C был принят в качестве стандарта де-факто не потому, что он дружественный, а потому, что он распространен. Я могу написать 100 строк кода на C из 20 на синтаксически дружественном языке высокого уровня.
Это облегчает чтение программы, и, как мы все знаем, пересмотр кода через год или более означает следование повсеместному следу крошки.
Я использую подчеркивание, но только для глобальных переменных, так как их мало и они далеко друг от друга, и они четко выделяются. Кроме этого, хорошо продуманное имя функции / переменной CamelCaps () еще не подводило меня!
:set completeopt=longest,menu,preview
может быть?
(Я не уверен, что ваше утверждение
«когда я нажимаю TAB, оно ничего не должно делать, потому что нет более общего основания, чем те»
, противоречит вашему более позднему утверждению
«to testor после 2-го TAB. "
Мне кажется, что в этой точке нет более общего основания, чем" тест "... Если вы не имеете в виду, что первая вкладка идет к самому длинному общему основанию, а затем последующие вкладки циклически проходят через другие совпадения, и в этом случае вам нужно то, что я указал выше ...)