Именование параметров: имя_файла или имя_файла?
Я пытаюсь быть грамматически корректным в своем названии *. Я всегда использовал filename
вместо filename
. Похоже, что это соглашение java, но FxCop предпочитает filename
.
Здесь обсуждается обсуждение в WikiPedia. Чем больше я читаю, тем больше чувствую, что я прав (это довольно обычный!:)). Кто-нибудь имеет окончательный ответ или это просто что-то субъективное?
* Я просто надеюсь, что в этом посте нет ошибок грамматики!
Ответы
Ответ 1
Нижняя область верблюда рекомендуется для полей и параметров.
Пример 1:
fileName // for fields, parameters, etc.
FileName // for properties, class names, etc.
Обычно используется fileName
и NOT fileName
; вы можете убедиться, что, читая исходный код материала с открытым исходным кодом, созданный Microsoft, например корпоративная библиотека.
Причины
- главная точка заключается в том, что имена в этом случае более читабельны.
- Также этот подход добавляет согласованность, когда несколько параметров (поля, переменные..) используются в одном и том же методе (класс..) и с одним и тем же префиксом "файл", как показано ниже:
- ... есть несколько других причин, но они более субъективны.
Пример 2:
fileName, fileSize... // instead of filename AND filesize
См. также:
Для полного набора правил соглашения об именах я рекомендую проверить эту книгу:
И также проверьте некоторые вещи на IDesign.net
Ответ 2
'filename'
предполагает, что это слово описывает особый объект, такой как "корова" или "стул"
'filename'
предполагает, что это сложный объект, существует объект с именем file и этот объект описывает имя этого файла.
Два философских подхода, возьмите свой выбор.
Ответ 3
Насколько мне известно,
thisIsMuchMoreReadable, чем readingthis.
Ответ 4
Я думаю, что ответы здесь охватывают два вопроса.
В большинстве случаев я предпочитаю рассматривать это слово как одно целое слово "имя файла".
Я также предпочитаю начинать переменные/методы с нижним регистром для упрощения навигации по меню завершения кода.
Я думаю, что проблема с верблюжьим корпусом тоже здесь, и я думаю, что она должна использоваться для обозначения многословных имен.
Ответ 5
Не очевидный ответ, что FxCop является автоматизированным инструментом? Он признает, что "имя" - это слово, поэтому оно предлагает начать его с капитала N. Мы знаем, что "имя файла" также является словом, и поэтому следует загладить только первый F.
Ответ 6
Filename ~ идентифицирующее имя, присвоенное электронному компьютеру, в соответствии с ограничениями, налагаемыми операционной системой, как длина или ограниченный выбор символов.
В прошлом это считалось двумя словами, но теперь оно определяется как одно слово, поэтому
var filename =......
Если бы это было два слова, это было бы
var fileName =....
Ответ 7
Здесь не может быть никакого реального или неправильного.
Это то, что является чисто субъективным и полностью относится к сообществу, в котором вы работаете. Если FxCop и StyleCop и код .net, с которыми вы регулярно сталкиваетесь, используют fileName, а затем используйте fileName. Если он использует что-то другое, тогда используйте все, что есть.
Ваш первый приоритет, вероятно, должен быть согласован с шаблоном в вашем собственном коде, а затем соответствовать вашему сообществу.
В этом конкретном случае .net Reflector показывает много .net-кода с использованием fileName, поэтому я бы пошел с этим шаблоном лично.
Если вы были в мире java и запускали PMD и checkstyle, и их apis часто использовал имя файла, то я бы пошел с этим.
В дополнение к статье о названии википедии существует также Практика программирования Кернигана и Пайка. Первая глава в нем затрагивает множество проблем с именованием и согласованием кода.
Ответ 8
Если вы пишете c/С++, существует сильная тенденция использовать имена, которые люди действительно могут прочитать; то есть имя файла является хорошим, и, таким образом, оно еще является именем_домена_файла (если вы не рассматриваете имя файла как правильное английское слово - я обычно делаю).
См. стандарты кодирования Google