Именование параметров: 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, например Корпоративная Библиотека.

причины:

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

Пример 2:

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

см. также:

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

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


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

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


Что касается меня,

thisIsMuchMoreReadable чем readingthis.


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

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