Именование параметров: filename или fileName?
Я стараюсь быть грамматически правильным в моем именовании*. Я всегда использовал filename
вместо fileName
. Конвенция java также, похоже, использует это, но FxCop предпочитает fileName
.
здесь обсуждение в Википедии об этом. Чем больше я читаю, тем больше чувствую, что я прав (что вполне обычно! :) ). У кого-нибудь есть окончательный ответ или это просто что-то субъективное?
* Я просто надеюсь, что в этом посте нет грамматических ошибок!
9 ответов
допустимо писать на английском языке " filename "или"file name". Когда вы переводите это в кодирование, капитализация "n" или не капитализация "n" может идти в любом случае (предполагая camelCase или PascalCase).
* Я просто надеюсь, что в этом посте нет грамматических ошибок!
нижний регистр рекомендуется для полей и параметров.
Пример 1:
fileName // for fields, parameters, etc.
FileName // for properties, class names, etc.
как правило, fileName
используется, а не filename
; вы можете проверить это, прочитав исходный код с открытым исходным кодом, созданный Microsoft, например Корпоративная Библиотека.
причины:
- на главное за этим стоит то, что имена более читабельны в этом случай.
- также этот подход добавляет последовательность при нескольких параметрах (полях, переменных..) используются в том же методе (class..) и с тем же префиксом "file", как показано ниже:
- ...есть еще несколько причин, но они более субъективны.
Пример 2:
fileName, fileSize... // instead of filename AND filesize
см. также:
- Именования at Википедия
- Общие Соглашения Об Именовании в MSDN
для полного набора правил соглашения об именах я рекомендую проверить эту книгу:
-
рекомендации по разработке фреймворка: соглашения, идиомы и шаблоны для многоразовых библиотек .NET
(2-е издание) Кшиштофа, опубликовано ноя, 2008
(лично мы не используем 100% рекомендаций из этой книги, но в целом там довольно хорошие рекомендации)
а также проверить некоторые вещи на IDesign.net
'filename'
предполагает, что это слово описывает единичный объект, такой как "корова" или "стул"'fileName'
предполагает, что это сложный объект, что существует объект с именем file и что этот объект описывает имя этого файла.
два философских подхода, на ваш выбор.
Я думаю, что ответы здесь охватывают два вопроса.
-
' FileName 'vs' Filename ' (должен "имя" - отдельное слово)
и
' fileName 'vs' FileName ' (сначала следует характер будет строчным).
в большинстве случаев я предпочитаю рассматривать это слово как одно целое слово "filename". Я также предпочитаю запускать переменные / методы с нижним регистром для облегчения навигации по меню завершения кода.
Я думаю, что проблема случая верблюда здесь тоже, который, я думаю, следует использовать для различения имен нескольких слов.
разве не очевидный ответ, что FxCop является автоматизированным инструментом? Он признает, что" имя "- это слово, поэтому он предлагает начать его с заглавной буквы N. Мы знаем, что" имя файла " также является словом, и поэтому только первая буква F должна быть заглавной.
Filename ~ идентифицирующее имя, данное электронно-сохраненному файлу компьютера, в соответствии с ограничениями, наложенными операционной системой, такими как длина или ограниченный выбор символов.
в прошлом это считалось двумя словами, но теперь определяется как одно слово так
var filename = ......
Если бы это было два слова, это было бы
var fileName = ....
не может быть никакого права или неправильно здесь.
Это то, что является сугубо субъективным и полностью относится к сообществу в котором вы работаете. Если FxCop и StyleCop и .net-код, с которым вы регулярно сталкиваетесь, используют fileName, используйте fileName. Если он использует что-то еще, тогда используйте то, что есть.
ваш первый приоритет, вероятно, должен соответствовать шаблону в вашем собственном коде, а затем соответствовать вашему сообществу.
в этом конкретном случае .net Reflector показывает много .net-кода с использованием имени файла, поэтому я бы пошел с этим шаблоном лично.
Если бы Вы были в мире java и запускали PMD и checkstyle, а их API часто использовали filename, тогда я бы пошел с этим.
в дополнение к статье именования Википедии, есть также практика программирования Керниган и Пайк. Первая глава в нем затрагивает много имен и кода вопросы согласованности.
Если вы пишете c / C++, существует сильная тенденция использовать имена, которые люди действительно могут читать; т. е. имя файла хорошо, и поэтому yet_another_file_name (предполагая, что вы не рассматриваете имя файла как правильное английское слово - я обычно делаю).
посмотреть стандарты кодирования google