Параметр название: именем или именем?


Я стараюсь быть грамматически правильным в моем именовании*. Я всегда использовал filename вместо fileName. Соглашение java также, кажется, использует это, но FxCop предпочитает fileName.

здесь обсуждение в Википедии об этом. Чем больше я читаю, тем больше чувствую, что я прав (что вполне обычно! :) ). У кого-нибудь есть окончательный ответ или это просто что-то субъективное?

* Я просто надеюсь, что в этом посте нет грамматических ошибок!

9 58

9 ответов:

допустимо на английском языке писать "filename"или" file name". Когда вы переводите это в кодирование, заглавная буква " n "или не заглавная буква" n " может идти в любом случае (предполагая camelCase или PascalCase).

кстати, вы допустили грамматическую ошибку в вопросе -- как ни странно, в том самом предложении, в котором вы выражали свою надежду, что грамматических ошибок не было. Вы сказали: "я просто надеюсь, что в этом посте нет грамматических ошибок!"Но" ошибки " - это множественное число, поэтому "есть "из" Есть " представляет собой предметно-глагольное несогласие.

* Я просто надеюсь, что в этом посте нет грамматических ошибок!

нижний регистр рекомендуется для полей и параметров.

Пример 1:

fileName // for fields, parameters, etc.
FileName // for properties, class names, etc.

как правило, fileName используется, а не filename; вы можете проверить это, прочитав исходный код материалов с открытым исходным кодом, созданных Microsoft, таких как Корпоративная Библиотека.

причины:

  1. The главное за этим стоит то, что имена более читаемы в этом случай.
  2. также этот подход добавляет последовательность при наличии нескольких параметров(полей, переменных..) используются в том же методе (класс..) и с тем же префиксом "файл", как показано ниже:
  3. ...есть еще несколько причин, но они более субъективны.

Пример 2:

fileName, fileSize... // instead of filename AND filesize

см. также:

для полного набора правил соглашения об именах я рекомендую проверить эту книгу:

а также проверить некоторые вещи вIDesign.net

'filename' предполагает, что это слово описывает единичный объект, такой как "корова" или "стул"
'fileName' предполагается, что это сложный объект, что существует объект с именем file и что этот объект описывает имя этого файла.

два философских подхода, на ваш выбор.

насколько я могу судить,

thisIsMuchMoreReadable чем readingthis.

Я думаю, что ответы здесь охватывают два вопроса.

  • '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