长文件名扩展名:为什么不


17

我正在整理我的iPad应用程序,文件扩展名(主要用于Mail和Dropbox知道使用哪个程序打开文件)长12个字符。唯一可以扩展的文件扩展名是tax2010。为什么在这个主题上变化不大,通过为应用程序使用长文件名扩展名,我会遇到什么样的问题?这些文件将被邮寄,复制和共享*

在所有测试中,它都能完美运行。

*我希望。


2
我已经看到了几个较长的文件扩展名(就在几个小时前浏览Visual Studio项目时:.resources.csproj)。但是,是的,大多数文件扩展名都较短。

14
过去的历史偏向是存储和处理能力不那么丰富的时代。
安东尼·佩格拉姆

1
不,实际上,这是我们没有命令提示符自动完成功能以来的历史偏见。您知道程序员对敲击键盘感到无聊吗。
Mike Nakis 2011年

2
没有文件扩展名,至少在最新的操作系统中没有。
Ingo 2013年

1
@Zack请告诉我“没有文件扩展名之类的句子”中的确切内容。你不明白吗 顺便说一句,它应该是“文件扩展名”。但是即使那样,在最新的操作系统(如UNIX)中,充其量惯例还是要使名为file.c的文件包含C源代码,等等。在OS中没有可解释文件名的地方。
Ingo 2014年

Answers:


20

许多开发人员至少在长期扩展时存在技术限制的情况下至少使用了计算机。即使在今天,仍然有一些程序在使用中,这些程序会阻塞文件路径中的空格和长扩展名。

只要您不怀疑这些程序将需要使用您的文件,就没有技术上的理由阻止您。

不过请记住,您可以一眼就能理解的简短扩展将对您的用户好得多。因此,尽管.resources是一个很好的例子,但.customhatbymycompany绝对不是。


1
.customHatByMyCompany或.custom_hat_by_my_company呢?<evil grin>甚至是我公司的.custom帽子(Windows和Linux都似乎对文件扩展名中的空格没有问题)
Mawg说,请恢复Monica 2015年

8

文件扩展名用于区分不同类型的文件,而不是讲故事。这就是为什么它们很短:即使长度为三个字母,在同一台机器上发生碰撞的机会也很小。

长扩展名意味着剩余路径和文件名的空间更少。也许在现代操作系统和软件中,这并不重要,因为它们接受非常长的文件路径。可悲的是,对于Microsoft而言并非如此,.NET Framework 仍然无法管理长度超过259个字符的路径。扩展名占用12个字符意味着路径没有扩展名剩下246个字符。在某些情况下,这可能是个问题。

因为这个问题不适用你的具体情况唯一的原因,以避免长时间的扩展是,如果文件名,包括扩展,由用户输入的,特别是在移动设备上,其中打字能吃苦耐劳。


8

较长的文件名:

  • 进行更多打字,导致更多的工作/遗失
  • 占用更多屏幕空间
  • 打破传统
  • 不重要,因为文件扩展名是针对计算机而非人员的
  • 在路径长度受限制的系统中占用有价值的字符

这些注意事项是否对您的应用程序来说是一个问题,这取决于您和您的用户。


8
我不同意您的第四点:扩展通常具有人类联系。毕竟,只要有约定,操作系统都不关心可执行文件是.exe还是.df。诸如.cpp,.jpeg等扩展名是为了易于阅读而设计的。
David Thornley

2
@DavidThornley:可以争论的是,在现代Windows版本中,默认情况下文件扩展名是隐藏的,因此“普通”用户不能看到它们。但是,在许多其他情况下,我会同意这无关紧要-因此,我拒绝发表声明。
Kramii

7

正如@Anthony在评论中说的那样,三个字母(在DOS-> Windows行上)文件扩展名是历史遗留物。如今,尽管它奇怪地普遍存在,但它不再是现代操作系统的限制。

由于预计随着时间的流逝,这种做法将逐渐被放弃,因此我警告您可以使用更长的文件扩展名,尤其是如果您的测试确认在您的环境中它可以“正常运行”。

我能猜到的唯一问题是,在某些情况下,它将缩短为“税收”。


1
谢谢。明确一点,我的扩展名不是tax2010,这只是更长的一个例子。
Dan Rosenstark 2011年

1

我不能说iPad应用程序,但是很长一段时间以来我一直在为Windows应用程序使用5和6个字符的文件类型扩展名,这没有问题。而且我认为Linux从来没有遇到过问题,因此那里也没有问题。只是不要使用空格或特殊字符,因为某些程序如果尝试将文件名用作命令行参数的一部分,则可能无法正确处理它们。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.