第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

如何給函數(shù)取個合適的名字

標(biāo)簽:
設(shè)計(jì) 測試

对程序员来说,下面的几个任务,哪个最难?

  • 给函数,变量等命名
  • 向别人解释我们做什么(或者不做什么)
  • 任务估时
  • 与别人沟通
  • 在别人代码的基础上工作
  • 实现你不认同的功能
  • 写文档
  • 写测试
  • 设计解决方案

Quora 和  Ubuntu Forums thread 上的 4500 个程序员对上面的问题进行投票。49%的程序员认为给函数,变量等命名是最难的任务。

年少时,我们也曾给函数取过这样的名字

function doSth(){}// 实在怎么起名字,先凑合叫这个吧。
function zds(){} // zds 是“做大事”的拼音缩写。哈哈。
function doThing1AndDoTing2(){}// 做事1和事2
// 还有更多惨不忍睹的

当我们编码渐多,越来越意识到到好的命名对我们理解代码是多么的重要。那么,什么样的名字算是合适的呢?我觉得,如果通过看函数名字能明确的知道函数做了什么,那就是合适的命名。上面的三个名字:

  • doSth: 这函数名就是废话。不看函数的内容,完全不知道这函数做什么。
  • zds: 鬼知道zds是什么简称。
  • doThing1AndDoTing2: 虽然我们知道是做了两件事,但也太罗嗦了。比如,我们有一个来做肉的函数,我们这样写
    funcion washAndFireAndWrapMeat(){
    washMeat();// 洗肉
    fireMeat();// 煮肉
    wrapMeet();// 将肉装盘
    }

    如果把这个函数改成 cookMeat 是否更好。

下面是一些命名函数的技巧。

明确函数要做什么

在给函数命名前,明确函数到底要做什么。这有利于给函数命名。

以动词开头

函数总是做些什么,所以当然要以动词开头。

尽量不要以 do 开头

do 并不能给我们提供任何函数的信息。相比之下,search, compute, handle 之类的动词暗示着函数大概做了什么。

返回布尔值的方法以 is 或 are 开头

用 is 还是 are 取决于判断主体是单个还是多个。如:isButtonEnabledareButtonsEnable

合理的使用 get 作为函数名字的开头

所有有返回值的函数,好像都可以用 get 作为函数名字的开头。但以 get 开头的函数应该表示取某属性,如

var user = {
    firstName: '',
    lastName: '',
    getFirstName: function(){
        return this.firstName;
    },
    getFullName: function(){
        return this.firstName + this.lastName;
    }
}

否则就不应该用 get 开头。比如,从服务器上获取用户列表,这个方法可以叫 fetchUserList,而不是 getUserList;获取某个范围内的所有质数,可以叫 caculatePrime

不要包含上下文信息

如有个 user 对象,有个获取 user 的 id 的函数,应该叫 getId 而不是 getUserId

不要包含函数参数的信息

如用一个 id 和 token 找用户的方法,应该叫 findUser(userId, token) 而不是 findUserByUserIdAndToken(userId, token)。如果以 findUserByUserIdAndToken 来命名,那么如果以后函数要支持用其他方式查找用户怎么办,又或是不支持用 token 查找怎么办。

参考

本文遵守创作共享CC BY-NC-SA 4.0协议
网络平台如需转载必须与本人联系确认。

點(diǎn)擊查看更多內(nèi)容
55人點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
Web前端工程師
手記
粉絲
115
獲贊與收藏
6940

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消