0

我正在编写一个新的基于文档的跨平台化学应用程序(Win、Mac、Unix),它以自己的格式保存文件(该字段不存在标准格式)。我正在尝试确定已保存文件的文件扩展名。我的问题是:

  • 现在坚持三个字符有多重要?
  • 你在哪里可以检查这个文件扩展名已经被使用了多少?(谷歌当然有帮助,但它并没有告诉我给定的应用程序有多受欢迎)
  • 我真的需要使用特定于文件的扩展名吗?我的保存格式是 gzip 格式的 XML,所以我可以命名它.xml.gz,但我担心它会使初学者感到困惑(即,当您看到它时,它不会立即“响铃”)。
  • 最后,在选择自己的程序时,您还有其他重要的指导方针吗?

PS:我试图在“提供太少的信息”和“太具体以至于对他人真正有用”之间保持适当的平衡。如果需要,我很乐意在评论中提供更多信息。

4

6 回答 6

4

FileInfo.com列出了许多文件扩展名以及他们自己估计的使用量。

我建议使用一个独特的扩展名(而不是 xml.gz),以便操作系统在查看文件列表或其他内容时可以向用户识别文件类型。“按铃”很重要,尤其是在您的用户不太成熟的情况下。

我认为没有必要坚持 3 个字符,但我不会超过 5 个(我认为我没有真正的理由,除了个人喜好)。

于 2010-02-07T13:47:34.950 回答
3
  • 现在坚持三个字符有多重要?

除非您必须支持较旧的操作系统,否则不会。当前的所有操作系统都可以毫无问题地处理大于 3 个字符的文件扩展名。想想 .html、.config、.resx,我相信还有更多。

  • 你在哪里可以检查这个文件扩展名已经被使用了多少?

查看FileExt

  • 我真的需要使用特定于文件的扩展名吗?我的保存格式是 gzip 格式的 XML,所以我可以将它命名为 .xml.gz,但我担心它会使初学者感到困惑(即,当您看到它时,它不会立即“响铃”)。

请记住,windows(和 windows 用户)通过扩展名将文件与应用程序相关联,因此使用像 .xml.gz 这样过于通用的东西可能会导致问题。您可能会更好地提出更特定于您的文件类型或应用程序的内容。用户不关心您的格式是否在内部被压缩为 xml,他们关心文件中的内容。考虑抽象层,您的用户会将其视为包含化学信息而不是压缩 xml 的文件,因此 .chem 比 .xml.gz 更合适

一些事情的建议:

  1. 显然,不要与任何大的东西发生冲突——不要使用 .doc、.xls、.exe 等。

  2. 不要与您的用户群体可能已经安装的行业领域中的任何常见内容发生冲突。例如,如果您正在编写编程工具,请不要使用 .cs 或 .cpp。您可能最了解您的领域,因此请列出您和您的用户可能已安装的所有应用程序,以及他们的任何竞争对手,并避免使用它们。

  3. 确保您的应用包含注册和注销扩展程序的选项。不要只是在安装中自动执行此操作,请确保它是一个选项。

  4. 请记住 unix/linux 和 Mac 区分大小写,因此请考虑默认始终使用小写。

  5. 记住 CD/DVD 文件命名规则更严格,所以不要使用非字母数字字符。

  6. 最后,请记住,大多数非技术用户都会关闭文件扩展名,所以不要过分强调它。

这里有更多信息。

维基百科在此处(按类型)此处(按字母顺序)提供文件扩展名列表,以及一些一般信息

于 2010-02-07T13:57:02.257 回答
1
  1. 取决于平台,但一般来说,对于较新的操作系统来说不是很重要。检查您所针对的平台的文档。

  2. 我不知道谷歌有更好的替代品。希望其他人对此有更好的建议。

  3. 除非你有理由这样做。例如“我想确保 Windows 始终使用我的应用程序打开该程序”。我不确定您的用户是否需要关注扩展。例如,Windows 上的默认配置是隐藏已知文件类型的扩展名。但是,如果您有一个令人信服的理由(例如,允许您的程序轻松识别它应该能够处理的文件),那么您可以使用扩展名,或者您可以想出其他东西。

  4. 我只写过一次我认为需要自己扩展的程序。我用了我的首字母。后来我意识到我真的不需要特殊的扩展名并恢复为“.xml”。但是,大多数扩展似乎都意味着什么。(.doc 用于文档等)所以如果你确实需要走这条路,那么有意义的东西是个好主意。

于 2010-02-07T13:49:28.203 回答
1

这当然取决于您要支持的操作系统,但是如今人们已经在全球范围内超越了 3 个字符的扩展名限制:.html例如,很好地用于网页。

当然,如果您使用更长的扩展名,人们将不再将其视为文件扩展名,我认为...

于 2010-02-07T16:17:59.060 回答
0
  1. 除非您需要与您知道仍然具有三个字母限制的特定操作系统兼容,否则无需将其保留为三个字符。如果您最终支持这些平台,那么拥有它的三个字符版本可能会很有用

  2. 维基百科的文件格式列表非常好。一些 mime 映射列表将列出与这些映射关联的常见扩展。Ray 已经提到过 FileInfo.com

  3. 这是一件方便的事情;我可能会使用您自己的文件,但要记录下它们只是符合特定 DTD 的 gzip 压缩 XML 文件的事实,并且使用户可以轻松地使用 .xml.gz 代替。确保您的软件不关心扩展,因此用户甚至可以根据需要选择自己的扩展,尽管我倾向于通过提供合理的默认值来避免鼓励他们这样做。

  4. 我会追求可打字性、清晰性、独特性和简洁性——按照这个顺序。例如,.config打字比打字容易得多.q2z,但它依赖于唯一性。(我不是为您的应用程序建议它;这是一个示例。)同样,.q2z这只是一种痛苦。:-) 因此,例如,.chemstuff易于输入,并且可能不会在其他地方广泛使用。(同样,不是建议,只是一个例子。)

于 2010-02-07T14:03:38.457 回答
0

将其设置为 document_name.app_name.xml.gz,其中 document_name 和 app_name 是变量,后者是一些易于阅读和识别的应用程序标题的短字符串。

现代系统是相当灵活的,完全没有必要和我们一起拖 3 个字符的扩展。

我同意 .xml.gz 会使用户感到困惑,但请记住,现代系统正在转向识别文件,而不是基于扩展名,而是通过探测它们的标题甚至内容来代替。事实上,用户甚至不经常看到扩展程序。对于 gzip 后的 XML 文件,系统可能会决定首先在内存中解压缩文件流,然后发现它是一个文本 XML 文件,然后它可能会将其 'xmlns' 作为应用程序标识符。然而,这样的系统还没有被广泛使用。在任何情况下,不要犯只按扩展名打开文件的错误——聪明点,提高标准——完全按照上面的操作来确定文件是否可以被视为您的应用程序的文档。

于 2010-02-07T16:27:06.530 回答