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

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

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

有帮助吗?

解决方案

  • 如今,坚持 3 个字符有多重要?

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

  • 在哪里可以查看该文件扩展名已被使用了多少?

查看 文件扩展名.

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

请记住,Windows(和 Windows 用户)通过扩展名将文件与应用程序关联起来,因此使用过于通用的名称(例如 .xml.gz)可能会导致问题。您可能最好想出一些更适合您的文件类型或应用程序的东西。用户不关心您的格式是否在内部压缩 xml,他们关心文件中的内容。考虑抽象层,您的用户会将其视为包含化学信息而不是 gzipped xml 的文件,因此 .chem 比 .xml.gz 更合适

一些需要注意的事情的建议:

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

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

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

  4. 请记住,unix/linux 和 Mac 区分大小写,因此请考虑默认情况下始终坚持小写。

  5. 请记住,CD/DVD 文件命名规则更为严格,因此请勿使用非字母数字字符。

  6. 最后,请记住,大多数非技术用户都会关闭文件扩展名,因此不要对此过于紧张。

还有更多信息 这里.

维基百科有文件扩展名列表 在这里(按类型)这里(按字母顺序), ,还有一些 一般信息

其他提示

文件信息网 列出了许多文件扩展名以及他们自己对使用量的估计。

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

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

  1. 取决于平台,但一般来说,对于较新的操作系统来说不是很重要。检查您所针对的平台的文档。

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

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

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

这当然取决于您想要支持的操作系统,但如今全球范围内的人们已经突破了 3 个字符的扩展限制: .html 例如,它广泛用于网页。

当然,如果你使用更长的扩展名,人们将不再在视觉上将其识别为文件扩展名,我认为......

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

  2. 维基百科文件格式列表 还不错。一些 mime 映射列表将列出与这些映射关联的常见扩展名。雷已经提到过 文件信息网.

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

  4. 我会优先考虑可打字性、清晰度、独特性和简洁性——按这个顺序。例如, .config 比打字容易得多 .q2z 但它取决于独特性。(我并不是建议你的应用程序使用它;这是一个例子。)同样, .q2z 只是一种痛苦。:-) 例如, .chemstuff 很容易输入,可能在其他地方没有广泛使用。(再次强调,这不是建议,只是一个例子。)

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

现代系统非常灵活,完全没有必要将 3 字符扩展拖得更远。

我同意 .xml.gz 会让用户感到困惑,但请记住,现代系统正在转向不基于扩展名来识别文件,而是通过探测文件头甚至内容来识别文件。事实上,用户通常不会看到这些扩展。对于 gzip 压缩的 XML 文件,系统可能会决定首先在内存中解压文件流,然后发现它是一个文本 XML 文件,然后它可能会将其“xmlns”作为应用程序标识符。然而,此类系统尚未广泛使用。无论如何,不​​要犯仅通过扩展名打开文件的错误 - 聪明并提高标准 - 严格执行上述操作,以确定该文件是否可以被视为您的应用程序的文档。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top