做好一件平凡的事,很平凡。坚持做好一件平凡的事,是很不平凡的。1.前言如果计算机科学中只有两个问题:缓存失效和命名。那么我觉得命名的难点只有两个:词汇和遵守既定规范。最近在知乎上看到这样一句话:作为程序员,有没有让你感到无语和崩溃的程序名?.顿时感慨万千,因为命名对程序员来说是个难题。有时因为命名,可能会造成误导、质疑等,对开发效率和项目质量的影响可大可小。今天也分享一下我最近一直在使用的命名习惯。当然,这只是个人习惯。希望能在评论区看到大家推荐的命名方式,互相学习交流。关于整个内容,主要有两点:1.如何写出容易让别人看懂的名字2.针对不同的对象,使用对象命名的格式2.盘点那些难读的名字一些命名方式很难让其他人理解。当你看到这些情况时,你应该在开发中尽量避免。2-1.单词拼写错误为例//提交表单(将Form写成From)submitFrom(){...}我在上一篇文章中也说过,单词的正确拼写可以说是一个底线。如果一个单词拼写错误,例如,form和from都是正确的单词,但它们的含义完全不同。如果把form写成from,以后读代码的人(或者你自己)很可能会一头雾水。2-2。混淆中英文单词和拼写错误会误导他人。这种中英文混用的命名方式,会让人感到迷惑,不是误导,只是难以理解。例如下面的letchanpinList=[];这个变量名,我一开始不知道是什么,也没有注释,所以完全一头雾水。后来看了需求,才知道这里的意思是:产品列表。2-3。用1-9、a-z命名相信大家都遇到过这种情况。比如页面上有几个按钮,有些人将它们命名为btn1、btn2、btn3、btn4……或者btnA、btnB、btnC、btnD。这样的命名看似简单,但实际上从这些命名中读不出任何信息,以后可能会更痛苦。2-4.Mixednamingformats这可以说不是那么可恶,但是看起来很别扭。比如表示一个评论列表,一个地方这样命名:comments,另一个地方这样命名:comment-list,还有一个地方这样命名:commentList。几种标准混在一起的时候,感觉不规则。还有一种情况,平时不会出现,但也遇到过。比如在一个地方有一个添加供应商的按钮,名字是:addSupplier。另一个地方有一个相同的功能按钮,一模一样,得到的名称是:addSupplierInfo。当时以为这两个函数不是同一个函数,造成了误解。2-5。强制中文拼音命名有些名词是中国人创造的(淘宝-淘宝,微博-微博),没有英文翻译。可以用中文拼音命名,其他的建议用英文。但有时即使有英文单词,有些人还是用汉语拼音来命名。比如文章列表,很多人直接写文章列表,没有用articleList。但是当你看的时候,肯定会一头雾水。2-6。强制缩写简介虽然可以让命名看起来更简洁,但是有时候你会遇到强制缩写命名,比如一个函数是一个提交用户评论信息的函数。本来以为是:handleCommentSubmit/submitComment/publishComment。结果后来看了看--tjyhpl。强制缩写还是拼音的缩写,后来又让他改成了ac。问了之后才知道他想表达的是addComment,我当时差点就做到了。2-7。不区分单数和复数。这种情况还不错,只是一种规范。之前有两个操作函数,一个是下载所有订单数据,一个是下载当前订单数据。但是两个函数的命名,一个是downloadOrderData,一个是downloadOrder。这也造成了一些混乱。面对这样的情况,建议区分复数订单,downloadOrder,downloadOrderAll/downloadOrderList。区分单数和复数命名。如果有返回值,也可以让别人知道,单数可能返回单条记录,复数可能返回一个数组。2-8。误用正反同上,也未尝不可,只能算是不正经。例如:有两个操作函数,一个是显示弹窗,一个是关闭弹窗。作为上面命名的结果,一个是showEditDialog。另一个是closeEditDialog。上面的例子中,show和close,一个是display,一个是close,显然不是正负词。应该出现的手势是showEditDialog和hideEditDialog,或者openEditDialog和closeEditDialog2-9。随便起个什么好笑的名字,比如你在知乎上看到的,别人遇到的。大家移步知乎吧,这个就不多赘述了。作为程序员,有没有让你感到无语和崩溃的程序名?.3、命名相关格式命名完成后,要正确书写命名字。再说说命名格式。在说自己的命名实例之前,先说说不同的命名对象,命名方式是不同的。具体如下:命名对象建议名称为图片的小写字母,'-'或'_'拆分css(class,id)'-'拆分文件,变量命名为js类(class)用小驼峰命名,常量大写字母用大驼峰命名,'_'拆分临时变量,私有变量以'_'开头,驼峰命名4.HTML命名内容模块,通常是较大的整体可以复用,如导航、菜单、幻灯片、图形列表等。建议在命名前加上m-components:各种常见的网页内容组件,如按钮、标题、输入框等。是建议命名前有u-both关系,模块包含组件,组件组成一个模块。小例子看到上面有一个小弹窗。整个弹出窗口被视为一个模块。您可以将标题、提示内容和按钮用作组件。HTML代码如下,CSS和JS代码就不贴了。模块有m-,组件有u-
