飞雪团队

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8089|回复: 0

为什么文件名要小写?

[复制链接]

4137

主题

4225

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
14711
发表于 2021-1-21 15:37:40 | 显示全部楼层 |阅读模式
上周,《中文技术文档写作规范》加入了文件的命名规则。
                                                                                                               
  "文件名建议只使用小写字母,不使用大写字母。"
"为了醒目,某些说明文件的文件名,可以使用大写字母,比如README、LICENSE。"
网友看见了,就提问为什么文件名要小写?
5d2fdb3f6f2e1d3e6a65da8277ef330a.png

说实话,虽然这是 Linux 传统,我却从没认真想过原因。赶紧查资料,结果发现四个很有说服力的理由,支持这样做。
下面就是这四个理由。另外,文后我还会发布一条前端培训的消息。
一、可移植性

Linux 系统是大小写敏感的,而 Windows 系统和 Mac 系统正好相反,大小写不敏感。一般来说,这不是大问题。
但是,如果两个文件名只有大小写不同,其他都相同,跨平台就会出问题。
  

  • foobar
  • Foobar
  • FOOBAR
  • fOObAr
上面四个文件名,Windows 系统会把它们都当作foobar。如果它们同时存在,你可能没办法打开后面三个文件。
另一方面,在 Mac 系统上开发时,有时会疏忽,写错大小写。
// 正确文件名是 MyModule.jsconst module = require('./myModule');
上面的代码在 Mac 上面可以运行,因为 Mac 认为MyModule.js和myModule.js是同一个文件。但是,一旦代码到服务器运行就会报错,因为 Linux 系统找不到myModule.js。
如果所有的文件名都采用小写,就不会出现上面的问题,可以保证项目有良好的可移植性。
二、易读性

小写文件名通常比大写文件名更易读,比如accessibility.txt就比ACCESSIBILITY.TXT易读。
有人习惯使用驼峰命名法,单词的第一个字母大写,其他字母小写。这种方法的问题是,如果遇到全部是大写的缩略词,就会不适用。
891ed5aafe1674364a251175bf15b4e0.jpg

比如,一个姓李的纽约特警,无论写成NYPoliceSWATLee还是NyPoliceSwatlee,都怪怪的,还是写成ny-police-swat-lee比较容易接受。
三、易用性

某些系统会生成一些预置的用户目录,采用首字母大写的目录名。比如,Ubuntu 在用户主目录会默认生成Downloads、 Pictures、Documents等目录。
a5a2d8420fd455f8b3ec768a5602e35d.png

Mac 系统更过分,一部分系统目录也是大写的,比如/Library/Audio/Apple Loops/。
另外,某些常见的配置文件或说明文件,也采用大写的文件名,比如Makefile、INSTALL、CHANGELOG、.Xclients和.Xauthority等等。
所以,用户的文件都采用小写文件名,就很方便与上面这些目录或文件相区分。
如果你打破砂锅问到底,为什么操作系统会采用这样的大写文件名?原因也很简单,因为早期 Unix 系统上,ls命令先列出大写字母,再列出小写字母,大写的路径会排在前面。因此,如果目录名或文件名是大写的,就比较容易被用户首先看到。
6532f44bad48b924e771dc4dc5658bf1.png

四、便捷性

文件名全部小写,还有利于命令行操作。比如,某些命令可以不使用-i参数了。
# 大小写敏感的搜索$ find . -name abc$ locate "*.htmL"# 大小写不敏感的搜索$ find . -iname abc$ locate -i "*.HtmL"
47b8be19e1576398e2abe3336cabb88f.png

另外,大写字母需要按下 Shift 键,多多少少有些麻烦。如果文件名小写,就不用碰这个键了,不仅省事,还可以提高打字速度。
程序员长时间使用键盘,每分钟少按几次 Shift,一天下来就可以省掉很多手指动作。长年累月,也是对自己身体的一种保护。
综上所述,文件名全部使用小写字母和连词线(all-lowercase-with-dashes),是一种值得推广的正确做法。
(正文完)
下面是推广时间。
如果大家还有印象,以前我介绍过一家前端开发的在线教育平台"海棠学院"。
他们的特色就是保证课程质量,不吹牛,非常低调地将所有精力,都投入课程准备和学员的悉心指导,让学员循序渐进、多敲多练,掌握前端编程,做出好的项目。如果你想投入前端行业,或者了解互联网技术,他们是一个不错的选择。
64ba1e52915cbffb63bddf485d8b9c9a.jpg

根据我的提议,创始人张小河收集了前几期学员的反馈。
  "身为一个应届生,接触前端完全是因为不喜欢自己的专业,又到了就业的时节,想想自己还是对互联网比较感兴趣,从网上了解了一下互联网各个方面的工作,发现自己对前端比较感兴趣,由此而入了坑......(全文)"
现在,2017年春季班开始招生了。和上次冬季班一样,依然是0成本入学,只需要缴纳 99 元,即可感受一周的课程,享受完全正式的待遇(录播 + 直播 + 教学监管 + 技术辅导)。一周后,如果觉得不满意,99 元可以退款。
不管你最后是否报名,只要参加培训,都可以免费获得一份前端学习资料。
201531e10b7ef9d4a3debf2049e2da04.png

春季班定在3月初开课,名额已经不多了。想从事前端开发,却不知道从何学起的朋友,不要错过这个机会,点击这里,了解详情吧。
(完)
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|飞雪团队

GMT+8, 2024-5-3 17:53 , Processed in 0.072074 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表