2009-10-20 1 views
3

Для чего я знаю, лучше всего назвать такие файлы: file_name.txt - или если вы хотите file-name.txt.Как объяснить моим коллегам, что имена файлов не должны содержать символы верхнего регистра или специальные символы?

Теперь некоторым людям, кажется, нравится называть их файлы fileName.txt или FILENAME.TXT или «File Name.txt» - как объяснить им, что это не очень хорошая идея? Почему именно указанная выше наименования названий файлов?

я лишь смутно знаю, что некоторые файловые системы имеют проблемы с прописными буквами, и идентификаторы URI должны быть в нижнем регистре только, чтобы избежать путаницы (Википедия имеет прописные символы в их URL, хотя, например, http://en.wikipedia.org/wiki/Sinusitis)

W.

+2

Если ваше имя - Билли Мейс, то вам обязательно должно быть позволено/ожидаться от вас, чтобы назвать все ваши файлы в UPPERCASE. – random

+0

Я думаю, что в этом случае они противоречат друг другу, потому что на самом деле это не имеет никакого значения, но он попадает под вашу кожу. – Will

ответ

5

Ну , проблема с прописными буквами будет заключаться в том, что некоторые файловые системы (например, NTFS) игнорируют их и обрабатывают filename.txt и FILENAME.TXT как один и тот же файл, тогда как другие файловые системы (например, я думаю) думают об этом как о двух разных файлах.

Итак, если у вас есть ссылка на файл, который вы назвали file.txt, а ссылки указывают на файл File.txt, то на NTFS это не проблема, но если вы скопируете файлы в файл система вроде ext, ссылка не сработает, потому что файловая система думает, что нет такого файла, как File.txt.

Из-за этого лучше всего использовать строчные буквы.

+4

Если, конечно, вы не программируете в Visual Studio, а имя класса и имя файла идут рука об руку, а в директивах по дизайну рамок указано, что имена классов должны начинаться с заглавной буквы и быть на верблюде -дело. Честно говоря, я не знаю никакой такой «лучшей практики», которая является универсальной. Все зависит от контекста. – tvanfosson

+0

Конечно, если вы уверены, что никогда не будете копировать файлы в любую файловую систему, то, например, в файловые системы Windows, вы в порядке с прописными буквами. Я использую их сам (в VS, как вы сказали). Но то, что я написал, является аргументом в пользу этой «лучшей практики». –

+0

Мне бы хотелось увидеть пример того, где это может произойти «если у вас есть ссылка на файл, который вы назвали file.txt, а ссылки указывают на файл File.txt», особенно в сегодняшнем перетаскивании пользовательская среда. – Lazarus

0

Стандарт POSIX (IEEE Std 1003.1) определяет набор символов для переносимых имен файлов (однако он указывает, что этот случай следует сохранить). По крайней мере, он удаляет пробелы и другие «специальные» символы из набора.

Множества есть из памяти: [A-Za-Z0-9_-.]

1

Максимилиан имеет хорошую точку!

Это лучшие практики, чтобы исключить возможность путаницы (разнородные имена рассматриваются как идентичные), но я работаю в таком месте, где используются различные системы, из DOS в Windows, для Unix, и я никогда смог убедить тех, пользователей, которых следует избегать CAPS LOCK.

Поскольку я в основном разбираюсь с Unix-подобными системами, я бы очень хотел законодательно принять решение для нижнего регистра везде, но я бью голову над кирпичной стеной.

Лучшая практика - это концепция иностранцев для большинства пользователей компьютеров.

Если ваши коллеги - программисты, у вас может быть шанс.

+1

Наверняка трудно убедить пользователей DOS не использовать CAPS, я не думаю, что у них есть выбор ... должен ли ваш стандарт быть все шапки и 8.3 нотация? – Lazarus

+0

Я думаю, что Вольфр действительно имел в виду лучшую практику для программистов (так как это так), и, возможно, он имел в виду программистов Windows, но он спрашивал о создании файлов, и в наши дни огромное количество не-программистов создают файлы, используя (по моему опыту) DOS, Windows * и * Unix. Я не вижу возможности впечатлить этих пользователей какой-либо концепцией «лучшей практики». Это смешанные среды, подобные этой, когда лучшая практика становится размытой. – pavium

+0

Я разработчик и дизайнер. Мои коллеги - разработчики и разработчики, и я не знаю, я искал аргумент, который не был пустым. Я не могу сказать, что «используйте только az09-_ в ваших именах файлов», не указывая причину. В какой-то момент я написал правило компании о том, что каждый класс и идентификатор в HTML/CSS должны быть написаны camelCase для согласованности на разных сайтах, и некоторые люди тоже начали делать это в своих именах файлов.(что не было моим намерением) Большинство людей работают на Mac здесь, а некоторые на окнах. Проблема заключалась в том, что иногда файл не мог быть найден из-за различий между случаями. Спасибо всем! – Wolfr

1

Доказательство того, что все нижние регионы является «лучшей практикой», легко оправдает использование всех CAPS в качестве лучшей практики.

Я думаю, справедливо сказать, что подавляющее большинство пользователей не работают в многоплатформенных средах или, по крайней мере, не так, как это может привести к возникновению проблемы, возникшей здесь.

Проблема на самом деле является проблемой при копировании из чувствительной к регистру среды в нечувствительную к регистру ситуацию, когда у вас есть несколько вариантов имени файла в пределах одного каталога (несколько маловероятно). Идея о том, что ссылка на файл будет основной для меня, падает, если учесть, что изменение структуры каталогов, вероятно, будет одинаковой проблемой в таких ситуациях.

В конце дня, в корпоративной среде, должен быть опубликован стандарт для таких вещей, по которым каждому, по крайней мере, рекомендуется следовать, что для меня это лучшая практика. Те, кто следуют стандарту, не только сами виноваты.

+0

На самом деле, если вы действительно думаете об этом, многие разработчики ** делают ** работать в многоплатформенных средах - многие люди разрабатывают свою ОС по выбору (Win, macOS, Linux и т. Д.), Но развертывают сервер на основе Linux. Исключением, конечно, является то, что ваша целевая платформа такая же, как та, на которой вы работаете. Так что это на самом деле ** ** проблема, с которой вы могли легко столкнуться. Самое простое решение всей дилеммы - всегда ссылаться на ваши файлы, также сопоставляя случай, т.е. в Node.js, не 'require ('filename.js'), если файл фактически назван' Filename.js'. Задача решена. –

4

Если ваши коллеги не знают, то вы можете убедить их, что ВСЕ CAPS занимают больше места в хранилище, потребляют больше энергии и, скорее всего, удаляются.

Однако, если они так же хорошо осведомлены о именах файлов, как вы, вы можете их немного подобрать с предпочтением.

В этой ситуации я хотел бы принять абсурдистский подход, чтобы помочь моим коллегам хочу, чтобы иметь разумный подход. Я предлагаю вам начинать именовать файлы с помощью CrAzY cAsE. После нескольких каталогов CrAzY cAsE ваши коллеги из всех CAPS и ваши младшие коллеги придут к вам и попросят вас остановиться. Вы тогда говорите: Ну, у нас должно быть стандартное соглашение об именах, я беспристрастен к результатам, если мы сможем договориться о стандарте. Затем подталкивайте обсуждение к именам нижних регистров и объявляйте это как компрометацию связывания.

Смежные вопросы