命名一直是程序员最烦恼的事情之一,一个好的命名可以让一段代码看起来可读性更强,后续维护的人员也会更轻松。因此,在团队中统一使用同一套命名规范是相当有必要的。
创新互联建站专注于木垒哈萨克企业网站建设,成都响应式网站建设公司,商城网站定制开发。木垒哈萨克网站建设公司,为木垒哈萨克等地区提供建站服务。全流程按需设计网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
今天,猿妹要和大家分享一份命名宝典,专门帮助程序员如何命名,这个项目介绍了命名时需要考虑的数个要点,旨在帮你解决命名困难的问题,教你如何便捷、轻松地进行命名,这个项目就叫——naming-cheatsheet。
naming-cheatsheet已经在Github上标星 7.9K,累计分支 386 个(Github地址:https://github.com/kettanaito/naming-cheatsheet)
这些命名规则适用于任何编程语言,创建者以JavaScript为例演示,一起来看看吧:
在命名变量和函数名时用英文名称命名:
- /* Bad */
- const primerNombre = 'Gustavo'
- const amigos = ['Kate', 'John']
- /* Good */
- const firstName = 'Gustavo'
- const friends = ['Kate', 'John']
不管你喜欢与否,英语是编程中的主导语言,所有编程语言的语法都是用英语编写的,还有无数的文档和教学资料也是英文,通过英语编写代码,可以极大地增加代码的凝聚力。
选择一套命名规范并遵循它,在团队中保持命名的一致性,它可以是camelCase、PascalCase、snake_case或其他任何东西。许多编程语言在命名约定方面都有自己的传统,你可以查看自己的编程语言文档或者学习一些Github上流行的知识库。
- /* Bad */
- const page_count = 5
- const shouldUpdate = true
- /* Good */
- const pageCount = 5
- const shouldUpdate = true
- /* Good as well */
- const page_count = 5
- const should_update = true
名称必须简短、直观和描述性:
- /* Bad */
- const a = 5 // "a" could mean anything
- const isPaginatable = a > 10 // "Paginatable" sounds extremely unnatural
- const shouldPaginatize = a > 10 // Made up verbs are so much fun!
- /* Good */
- const postCount = 5
- const hasPagination = postCount > 10
- const shouldPaginate = postCount > 10 // alternatively
不要使用缩写,它们只会降低代码的可读性,找到一个简短的可读的名称可能会很难,但即便如此也别使用简写。
- /* Bad */
- const onItmClk = () => {}
- /* Good */
- const onItemClick = () => {}
上下文的名称不应该重复
- class MenuItem {
- /* Method name duplicates the context (which is "MenuItem") */
- handleMenuItemClick = (event) => { ... }
- /* Reads nicely as `MenuItem.handleClick()` */
- handleClick = (event) => { ... }
- }
变量或函数的命名应该做到能够反映预期的结果。
- /* Bad */
- const isEnabled = itemCount > 3
- return
- /* Good */
- const isDisabled = itemCount <= 3
- return
以上就是命名的6大原则,除此之外,创建者还介绍了命名模式,诸如A/HC/LC模式、动作、前缀、单复数等模式,感兴趣的不妨自己去学习一下吧。
分享标题:Github标星7.9K!程序员专属的命名宝典来了
本文链接:http://www.shufengxianlan.com/qtweb/news48/222498.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联