注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

骐骥一跃

日积跬步 业精于勤荒于嬉

 
 
 

日志

 
 

[转]为什么文件名要小写?  

2017-04-01 14:08:28|  分类: 计算机基础 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

摘自:http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html

为什么文件名要小写?

作者: 阮一峰

日期: 2017年2月10日

上周,《中文技术文档写作规范》加入了文件的命名规则。

"文件名建议只使用小写字母,不使用大写字母。"

"为了醒目,某些说明文件的文件名,可以使用大写字母,比如de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >READMEde>、de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >LICENSEde>。"

网友看见了,就提问为什么文件名要小写?

说实话,虽然这是 Linux 传统,我却从没认真想过原因。赶紧查资料,结果发现四个很有说服力的理由,支持这样做。

下面就是这四个理由。另外,文后我还会发布一条前端培训的消息。

一、可移植性

Linux 系统是大小写敏感的,而 Windows 系统和 Mac 系统正好相反,大小写不敏感。一般来说,这不是大问题。

但是,如果两个文件名只有大小写不同,其他都相同,跨平台就会出问题。

  • de style="margin: 0px; padding: 0px; list-style-type: none; border: none;" >foobarde>
  • de style="margin: 0px; padding: 0px; list-style-type: none; border: none;" >Foobarde>
  • de style="margin: 0px; padding: 0px; list-style-type: none; border: none;" >FOOBARde>
  • de style="margin: 0px; padding: 0px; list-style-type: none; border: none;" >fOObArde>

上面四个文件名,Windows 系统会把它们都当作de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >foobarde>。如果它们同时存在,你可能没办法打开后面三个文件。

另一方面,在 Mac 系统上开发时,有时会疏忽,写错大小写。

de  >
// 正确文件名是 MyModule.js
const module = require('./myModule');
de>

上面的代码在 Mac 上面可以运行,因为 Mac 认为de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >MyModule.jsde>和de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >myModule.jsde>是同一个文件。但是,一旦代码到服务器运行就会报错,因为 Linux 系统找不到de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >myModule.jsde>。

如果所有的文件名都采用小写,就不会出现上面的问题,可以保证项目有良好的可移植性。

二、易读性

小写文件名通常比大写文件名更易读,比如de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >accessibility.txtde>就比de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >ACCESSIBILITY.TXTde>易读。

有人习惯使用驼峰命名法,单词的第一个字母大写,其他字母小写。这种方法的问题是,如果遇到全部是大写的缩略词,就会不适用。

比如,一个姓李的纽约特警,无论写成de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >NYPoliceSWATLeede>还是de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >NyPoliceSwatleede>,都怪怪的,还是写成de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >ny-police-swat-leede>比较容易接受。

三、易用性

某些系统会生成一些预置的用户目录,采用首字母大写的目录名。比如,Ubuntu 在用户主目录会默认生成de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >Downloadsde>、 de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >Picturesde>、de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >Documentsde>等目录。

Mac 系统更过分,一部分系统目录也是大写的,比如de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >/Library/Audio/Apple Loops/de>。

另外,某些常见的配置文件或说明文件,也采用大写的文件名,比如de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >Makefilede>、de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >INSTALLde>、de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >CHANGELOGde>、de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >.Xclientsde>和de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >.Xauthorityde>等等。

所以,用户的文件都采用小写文件名,就很方便与上面这些目录或文件相区分。

如果你打破砂锅问到底,为什么操作系统会采用这样的大写文件名?原因也很简单,因为早期 Unix 系统上,de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >lsde>命令先列出大写字母,再列出小写字母,大写的路径会排在前面。因此,如果目录名或文件名是大写的,就比较容易被用户首先看到。

四、便捷性

文件名全部小写,还有利于命令行操作。比如,某些命令可以不使用de style="margin: auto 3px; padding: 0px 5px; list-style-type: none; border: none; display: inline-block; font-size: 15.6px; background-color: pink; border-radius: 5px;" >-ide>参数了。

de  >
# 大小写敏感的搜索
$ find . -name abc
$ locate "*.htmL"

# 大小写不敏感的搜索
$ find . -iname abc
$ locate -i "*.HtmL"
de>

另外,大写字母需要按下 Shift 键,多多少少有些麻烦。如果文件名小写,就不用碰这个键了,不仅省事,还可以提高打字速度。

程序员长时间使用键盘,每分钟少按几次 Shift,一天下来就可以省掉很多手指动作。长年累月,也是对自己身体的一种保护。

综上所述,文件名全部使用小写字母和连词线(all-lowercase-with-dashes),是一种值得推广的正确做法。

(正文完)

  评论这张
 
阅读(81)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018