当前位置: 首页 > Web前端 > HTML

Javascript变量命名约定

时间:2023-03-28 01:13:46 HTML

程序员的三大难题:变量命名、缓存失效、循环边界。CamelCase首先,与其他语言一样,建议对大多数变量使用camelCase。vararticleTitle='javascriptvariablenamingconvention'对于常量,使用大写字母和下划线组合名称。constCOUNTRY_NAME='China'根据变量类型,尽量用简单易懂的名词命名普通变量/属性。可以在形容词/名词前加修饰。varperson={name:'Mike'}varstudent={grade:3,class:2}varjuniorSchoolStudent={}布尔变量/属性一般以形容词、be动词、情态动词开头,有varperson={alive:false,//如果是形容词,前面不用加is。比如isAlive是多余的canSpeak:true,//情态动词包括can,should,will,need等。通常后面跟名词hasChildren:true,//has加名词}在控制元素的显示和隐藏以及是否加载时,可以先show,hide,loadvardialog={showTitle:true,//另一个例子vue框架,v-show="showTitle"hideHeader:false,//Angular框架中的另一个例子,ng-hide="hideHeader"loadFooter:true,//vue框架中的另一个例子,v-if="loadFooter"}普通函数/方法一般以动词开头。如果是及物动词,可在其后加名词,构成动宾结构。varperson={run(){},//不及物动词drinkWater(){},//及物动词eat(foo){},//及物动词加参数(参数是名词)}name也可以具体化参数:document.getElementById('domId')functionfindArticleByName(articleName){}回调,钩子函数以介词开头,或者使用动词的现在完成时button.addEventListener('click',onButtonClick)varcomponent={beforeCreate(){},created(){},beforeMount(){},mounted(){},beforeUpdate(){},updated(){},activated(){},deactivated(){},beforeDestroy(){},destroyed(){}}类名/构造函数名必须采用Pascal命名法(即驼峰式+首字母大写)。classMyArticle{}functionPerson(name){this.name=name}私有属性和方法使用下划线_作为前缀,公共属性和方法不需要classPerson{//私有属性_name;//公共方法getName(){returnthis._name;}//公共方法setName(name){this._name=name;}}注意介词的连贯性。比如上面钩子函数的命名约定中,如果使用before+after,那么在代码中处处坚持使用;如果你使用before+completion,坚持下去;如果你改变它,它就会不一致,不一致会导致不可预测。再比如,如果你使用了onButtonClick,就不要在其他地方使用handleButtonClick。顺序一致性比如两个变量同时命名:updateContainerWidth和updateHeightOfContainer,这个顺序很别扭,也会导致不可预测的一致性。函数名应该尽可能完美地反映函数的功能,不能多也不能少。比如functiongetSongs(){return$.get('/songs).then((response){div.innerText=response.songs})}就违反了表内的一致性。getSongs表示获取歌曲,并不表示该函数会更新页面,实际上该函数更新了div。这就是它的样子。正确的写法是改正函数名functiongetSongsAndUpdateDiv(){return$.get('/songs).then((response){div.innerText=response.songs})}或者写成两个函数functiongetSongs(){return$.get('/songs)}functionupdateDiv(songs){div.innerText=response.songs}getSongs().then((response)=>{updateDiv(response.songs)})时间一致性可能会随着代码的变化而变化,变量的含义与原来的含义不同,所以需要及时更改变量的名称。这个是最难做的,因为写代码容易,改起来难。如果这段代码组织不好,很可能会牵一发而动全身(比如全局变量很难改变)。所以最好的办法就是一开始就规划好,按照规范来组织代码。其他注意事项避免使用不常见的缩写除了一些所有程序员都知道的常用缩写(例如num、html)外,不建议使用缩写。例如password不能简写为psw,table不能简写为tb,tblcurrent不能简写为cur,不要使用拼音缩写。比如万元户不要写成wyh,中资公司不要写成zzgs。这些缩写其实不是少了几个字符,而是给阅读代码的人增加了很多负担。避免使用容易混淆的字母和数字,比如同时使用l和1:level1同时使用O和0:0选项避免变量命名过于抽象如varflag=false;//可以改成更实用的isValid,hasPermissionvarobj={};//可以改成更实用的currentTask,newItem参考文章《 重构 - 代码优化技巧 》