记一次自动格式化的问题
近日接盘了一个几年前的旧项目,由于 VS Code 开启了 Format On Save 选项,保存的时候自动格式化整个文件的代码。
正常情况下格式化代码基本没有任何风险,除非工具有问题,良好的代码格式有利于后面的工作。
在本地测试一切正常,推送到测试服务器运行错误,错误详情:
1 | SyntaxError: Unexpected token ) |
错误原因
检查发现格式化的时候,一些比较长模板字符串(Template String)自动换行,并在函数后面加了个逗号。
函数参数列表的尾后逗号是在 ES2017 添加的,从 Node.Js8.0.0 开始支持这一特性。
项目的 Dockerfile 指定了 Node6,本地是 Node10。
解决方法
- 升级项目中 Node 到 LTS 版本。
- 使用 eslint + prettier规范代码风格。
- 去除未使用的代码,少量多次的优化。
写在最后
项目尽量使用 lint 工具统一代码风格,改动成本小,--fix
可以尽可能的帮助我们修复老的代码,提高可读性,从而更容易维护。
没有银弹,完善的单元测试覆盖更重要。