很多人在写代码、提交项目时都遇到过一个问题:文件名或变量名的大小写到底有没有影响?比如你把 README.md 写成 readme.md,会不会出问题?答案是:看情况。
操作系统决定大小写敏感性
代码提交是否区分大小写,首先取决于你用的操作系统。Windows 系统默认是不区分大小写的,也就是说,在 Windows 上,App.js 和 app.js 被认为是同一个文件。但在 Linux 和 macOS(默认配置)上,这两个名字是不同的文件。
举个例子,你在 Windows 上开发,把文件命名为 config.json,然后在代码里引用的是 Config.json。本地跑得好好的,结果部署到 Linux 服务器上直接报错:找不到文件。这就是因为 Linux 区分大小写,而你本地没发现问题。
Git 提交也受此影响
Git 本身是支持大小写敏感的,但如果你在 Windows 或 macOS 上操作,它可能不会主动提醒你文件名只有大小写不同。比如你执行:
git mv README.md readme.md
在 Windows 上,Git 可能认为这没变化,根本不提交。想强制改就得先临时改成别的名字,再改成目标小写名,挺麻烦的。
编程语言也有讲究
除了文件系统,代码本身的语法也得注意。比如 JavaScript 是大小写敏感的:
let userName = "Alice";
console.log(username); // 报错:username is not defined
Python 同样如此,my_list 和 My_List 是两个变量。而像 SQL 中的关键词,例如 SELECT 和 select 在某些数据库里可以混用,但表名或字段名就可能因配置而异。
团队协作要统一规范
如果你和别人一起开发,有人用 Mac,有人用 Windows,有人部署到 Linux,那最好从一开始就约定好命名规则。推荐全部使用小写字母加短横线来命名文件,比如 user-profile.js,避免任何大小写带来的隐患。
还可以在项目中加入 .editorconfig 或 ESLint 规则,统一风格,减少这类低级错误。
别小看一个字母的大小写,它可能让你在上线前加班两小时。