谈JavaScript代码的整洁
总结
一张幽默的图片:软件质量是通过你阅读代码时有多少抱怨来评估的
《代码整洁之道》中Robert C. Martin提到的软件工程原理也适用于JavaScript。这不是风格参考。它指导如何用JavaScript编写可读、可重用、可重构的软件。
不是每个原则都必须严格遵循,甚至很少被大家认可。仅供参考,但要知道这些原则是《代码整洁之道》作者多年积累的集体经验。
我们在软件工程方面的技术发展刚刚超过50年,我们还在学习很多东西。当软件架构和架构本身一样老的时候,我们应该遵循更严格的规则。现在,对于您和您的团队编写的JavaScript代码,您可能希望根据这些准则来评估质量。
还有一点:知道这一点不会马上让你成为一个更好的软件开发人员,而且在工作中常年使用这些准则也不会让你避免错误。每一段代码都是从最初的草图开始,到最后的成型,就像成型湿粘土一样。最后,当我们和同龄人一起复习时,我们会消除不完美之处。不要因为初稿需要改进而否定自己,只需要否定那些代码!
可变的
使用含义准确的变量名
坏:
var yyyymmdstr=矩()。格式(' YYYY/MM/DD ');好的:
var yearMonthDay=moment()。格式(' YYYY/MM/DD ');当变量值不变时,使用ES6的常量
在一个不好的例子中,变量是可以改变的。如果声明一个常数,它在整个程序中保持不变。
坏:
var FIRST_US_PRESIDENT='乔治华盛顿';好的:
const FIRST_US_PRESIDENT='乔治华盛顿';对相同类型的变量使用相同的词汇
坏:
getUserInfo();getClientData();getCustomerRecord();好的:
getUSer();使用可检索的名称
我们读的代码总是比写的多。编写可读且易于检索的代码非常重要。在程序中使用没有明确含义的变量名会很难理解,对读者造成伤害。因此,该名称被定义为可检索的。
坏:
//见鬼,525600是什么?for(var I=0;i 525600I){ RunCronJob();}好:
//全局变量var MINUTES_IN_A_YEAR=525600被` var '声明为资本;for(var I=0;一年分钟;I){ RunCronJob();}使用解释性变量
坏:
const cityStateRegex=/^(.)[,\\s](。)\ s *(d { 5 })?$/;save city state(city state regex . match(city state regex)[1],city state regex . match(city state regex)[2]);好的:
const cityStateRegex=/^(.)[,\\s](。)\ s *(d { 5 })?$/;const match=city stateregex . match(city stateregex)const city=match[1];const state=匹配[2];saveCityState(城市、州);避免暗示
显性比隐性好。
坏:
var locations=['奥斯汀','纽约','旧金山'];locations . foreach((l)={ Dostuff();doSomeOtherStuff();//以此类推,` l '是什么?派遣(l);});好的:
var locations=['奥斯汀','纽约','旧金山'];locations . foreach((location)={ Dostuff();doSomeOtherStuff();.派遣(地点);});不要添加不必要的上下文
如果类名/对象名已经指出它们是什么,不要在变量名中重复它们。
坏:
var Car={ carMake: 'Honda ',carModel: 'Accord ',ca
版权声明:谈JavaScript代码的整洁是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。