Параметр название: именем или именем?
Я стараюсь быть грамматически правильным в моем именовании*. Я всегда использовал 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, таких как Корпоративная Библиотека.причины:
- The главное за этим стоит то, что имена более читаемы в этом случай.
- также этот подход добавляет последовательность при наличии нескольких параметров(полей, переменных..) используются в том же методе (класс..) и с тем же префиксом "файл", как показано ниже:
- ...есть еще несколько причин, но они более субъективны.
Пример 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' (должен сначала символ должен быть в нижнем регистре).
в большинстве случаев я предпочитаю рассматривать это слово как одно целое слово "имя файла". Я также предпочитаю запускать переменные / методы с нижним регистром для облегчения навигации по меню завершения кода.
Я думаю, что проблема верблюда дело здесь тоже, который я думаю, следует использовать, чтобы различать многословные имена.
разве не очевиден ответ, что 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