Расширения длинных имен файлов: почему бы и нет

17

Я заканчиваю свое приложение для iPad, и расширение имени файла (используется в основном для того, чтобы Mail и Dropbox знали, в какой программе открывать файлы) имеет длину 12 символов. Единственное расширение имени файла, которое где-то рядом, это долго tax2010. Почему в этой теме так мало вариаций, и каких проблем я могу ожидать, используя в своем приложении расширение длинного имени файла? Эти файлы будут отправлены по почте, скопированы и переданы * .

Во всех тестах работает отлично.

* Я надеюсь.

Дэн Розенстарк
источник
2
Я видел еще несколько расширений файлов (всего несколько часов назад во время просмотра проекта Visual Studio: .resourcesи .csproj). Но да, большинство расширений файлов короче.
14
Историческая предвзятость со времен прошлого, когда мощность хранения и обработки была не такой большой.
Энтони Пеграм
1
Нет, собственно, исторический уклон со времен, когда у нас не было автозаполнения из командной строки. Вы знаете, как программистам очень скучно нажимать клавиши.
Майк Накис
2
Расширения файлов не существует, по крайней мере, в более поздних операционных системах.
Инго
1
@ Зак Пожалуйста, скажите мне, что именно в предложении "Нет такого понятия, как расширение файла". ты не понял? Кстати, это должно быть «расширение имени файла». Но даже тогда, в более современных операционных системах, таких как UNIX, в лучшем случае считается, что файл с именем file.c содержит источник C и т. Д. В ОС нет места, где интерпретируется имя файла.
Инго

Ответы:

20

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

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

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

Дэн МакГрат
источник
1
А как насчет .customHatByMyCompany или .custom_hat_by_my_company? <зло ухмылка> Или даже .custom hat моей компании (как Windows, так и Linux, похоже, не имеют проблем с пробелами в расширениях имен файлов)
Mawg говорит восстановить Monica
8

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

Длинные расширения означают меньше места для оставшегося пути и имени файла . Возможно, в современных операционных системах и программном обеспечении это не имеет значения, поскольку они принимают очень длинные пути к файлам. К сожалению, это не относится к Microsoft , где .NET Framework по- прежнему не может управлять путями, длина которых превышает 259 символов . 12 символов, взятых за расширение, означают 246 символов, оставленных для пути без расширения. В некоторых случаях это может быть проблемой.

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

Арсений Мурзенко
источник
8

Более длинные имена файлов:

  • Возьмите больше печатания, в результате чего больше усилий / ошибок
  • Занимайте больше места на экране
  • Разрыв с традицией
  • Не важны, потому что расширения файлов для машин, а не людей
  • Занимайте ценные символы в системах с ограничением длины пути

Вопрос о том, являются ли эти соображения проблемой для вашего приложения, зависит от вас и ваших пользователей.

Kramii
источник
8
Я не согласен с вашим четвертым пунктом: у расширений обычно были человеческие ассоциации. В конце концов, операционной системе все равно, является ли исполняемый файл .exe или .df, если существует соглашение. Такие расширения, как .cpp, .jpeg и т. Д., Предназначены для удобного чтения человеком.
Дэвид Торнли
2
@DavidThornley: Можно утверждать, что в современных версиях Windows расширения файлов по умолчанию скрыты, поэтому «обычные» пользователи их не видят. Тем не менее, во многих других случаях я бы согласился, что это не имеет отношения - отсюда мой отказ от ответственности.
Крами
7

Как сказал @Anthony в комментариях, расширение из трех букв (в строке DOS-> Windows) является историческим пережитком. В наши дни это больше не является ограничением для современных операционных систем, хотя, как ни странно, остается распространенным явлением.

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

Единственная проблема, о которой я могу догадаться, заключается в том, что в некоторых случаях она будет сокращена до «налога».

ладья
источник
1
Благодарю. Просто чтобы прояснить, мое расширение не tax2010, которое является лишь примером более длинного.
Дэн Розенстарк
1

Я не могу говорить о приложениях для iPad, но я уже давно использую 5- и 6-символьные расширения для типов файлов для своих приложений Windows без проблем. И я не думаю, что у Linux когда-либо были с этим проблемы, так что это тоже не проблема. Просто не используйте пробелы или специальные символы, так как некоторые программы могут неправильно с ними работать, если они пытаются использовать имя файла как часть параметра командной строки.

GrandmasterB
источник