前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这个 6500 Star 的手册帮你解决命名难的问题

这个 6500 Star 的手册帮你解决命名难的问题

作者头像
我是阳明
发布2021-03-17 17:43:22
4060
发布2021-03-17 17:43:22
举报
文章被收录于专栏:k8s技术圈

命名是一件很困难的事情,naming-cheatsheet 是一个命名备忘录,记录一些常见的规范约定,试图让命名变得更容易。接下来我们就来介绍下 naming-cheatsheet 提到的一些规范约定。

使用英语
代码语言:javascript
复制
/* Bad */
const primerNombre = 'Gustavo'
const amigos = ['Kate', 'John']

/* Good */
const firstName = 'Gustavo'
const friends = ['Kate', 'John']

不管你喜不喜欢,英语都是编程中的主要语言,几乎所有的编程语言的语法都是用英语编写的,以及无数的文档和教材也是。通过英语编写代码,可以大大提高其通用性。对于我们国内开发者来说,一定要避免拼音甚至是直接的中文命名。

命名约定

选择一种命名的约定风格,并严格遵守它,可以是 camelCaseParscalCasesnake_case,或者是其他任何的风格,最重要的是要保持一致。许多编程语言在命名约定方面都有自己的规范,可以查看你所用的语言或者在 GitHub 上学习一些流行的源代码。

代码语言:javascript
复制
/* 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
SID原则

命名应该简短直观并且具有描述性

  • Short:简短,避免输入太长;
  • Intuitive:直观,命名必须自然地阅读,并且尽可能接近自然语言;
  • Descriptive:以最有效的方式反映其作用或目的。
代码语言:javascript
复制
/* 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
避免过度的简写

命名要简短,但是要避免钻牛角尖,命名最重要的是要让人能看懂,过度的简写只会降低代码的可读性。

代码语言:javascript
复制
/* Bad */
const onItmClk = () => {}

/* Good */
const onItemClick = () => {}
避免上下文重复

命名不应与定义命名的上下文重复,如果不降低命名的可读性,请务必从命名中删除该上下文。

代码语言:javascript
复制
class MenuItem {
  /* Method name duplicates the context (which is "MenuItem") */
  handleMenuItemClick = (event) => { ... }

  /* Reads nicely as `MenuItem.handleClick()` */
  handleClick = (event) => { ... }
}
反映预期结果

命名应该能反映预期的结果。

代码语言:javascript
复制
/* Bad */
const isEnabled = itemCount > 3
return <Button disabled={!isEnabled} />

/* Good */
const isDisabled = itemCount <= 3
return <Button disabled={isDisabled} />

更多命名规范可以参考项目:https://github.com/kettanaito/naming-cheatsheet

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 k8s技术圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用英语
  • 命名约定
  • SID原则
  • 避免过度的简写
  • 避免上下文重复
  • 反映预期结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档