Почему следует предпочесть расширения файлов в нижнем регистре, такие как .jpg, а не в верхнем, как .JPG?

3882
Jonas Stein

Многие (большинство?) Программ отмечают расширения файлов в нижнем регистре. lsКоманда в bash даже распечатывает foo.jpgвыделенные как изображения по умолчанию, но нет *.JPG.

Символы в нижнем регистре лучше отличать друг от друга, потому что они используют спусковые устройства.

Есть ли стандарт или соглашение, которое предлагает предпочитать строчные расширения файлов в системах Linux?

(похожий, но другой вопрос: https://softwareengineering.stackexchange.com/questions/186313/lowercase-in-linux-file-names )

5
Что такое потомок? TwirlMandarin 8 лет назад 0
@AlexanderCeed http://en.wikipedia.org/wiki/Descender Jonas Stein 8 лет назад 1

1 ответ на вопрос

6
Alex Atkinson

The following naming conventions should be observed.

  • All file names should be in lower case.
  • EXCEPTION: Plain text files such as README, INSTALL, NEWS, AUTHORS
  • Do not use spaces in file names. Use either a '-' or a '_'.
  • Use only alphanumeric characters, periods, underscores and hyphens. Make file names concise.
  • Avoid overly long and complex file names. Avoid Camel Case. (Capitalizing the first letter in each word. Ex. ThisIsCamelCase.sh)
  • Use the same extension for each file type. (.jpg vs .jpeg)

These rules have become industry convention because you just never know how someone else's code will handle file names. Will file names with spaces break something? Will it recognize .jpg's while ignoring .jpeg files? Remember, filenames are case sensitive. Readme is not the same file as README. The nice thing about conventions, once you know them, is that they save you time as there's no need to ponder how your files will be named. 

http://www.linfo.org/file_name.html

http://docs.oracle.com/html/B13786_01/ap_k.htm

http://www.cyberciti.biz/faq/linuxunix-rules-for-naming-file-and-directory-names/

http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gnat_ugn_unw/File-Naming-Rules.html

Разве верблюды не распространены для `java.class`es? Jarmund 8 лет назад 0
Если вы работаете с Java, вы работаете с Java. Соглашения об именах не зависят от платформы, и они среди первых вещей, которые вы узнаете, обычно вызывают проблемы у новых разработчиков. Alex Atkinson 8 лет назад 1
Я не мог видеть ссылку на сайт оракула в качестве источника. Сайт о киберцити, похоже, просто личный блог ... Jonas Stein 8 лет назад 0
Я упоминаю, что правила стали отраслевой конвенцией, потому что не было ни одного написанного с самого начала. Вы не должны сбрасывать со счетов личные блоги. В блогах больше полезной информации, чем во всех технических спецификациях в мире. Вам не нужно придерживаться этих общепринятых лучших практик, но вы будете взбешены, когда найдете причину нескольких месяцев в проекте, который уже отстает от графика. :П Alex Atkinson 8 лет назад 0

Похожие вопросы