跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 老哥们定义变量名遵循啥规范?
未分類
2021 年 3 月 11 日

老哥们定义变量名遵循啥规范?

老哥们定义变量名遵循啥规范?

資深大佬 : zhuzhibin 1

我一般是直接语义化英文翻译然后驼峰或者下划线拼接,然后编程上结合一些代码规范,大家可以一起来分享一下

例如定义:检查用户是否关注过公众号

 const checkCustomerHasFollowedOfficialAccount = true;  bolean checkCustomerHasFollowedOfficialAccount = true  $checkCustomerHasFollowedOfficialAccount = true;   

上面这种可能比较语义化,其他一些没有太语义化的你们怎么搞?例如定义一个变量:用户完成的任务总数量对应的奖品或者其他一些有的没的

强调一下啊,仅仅是作为分享贴,以和为贵,大家如果有好的一些编程规范可以分享出来,大家一起受用~

例如 PSR 规范 https://www.php-fig.org/psr/

大佬有話說 (27)

  • 資深大佬 : superrichman

    这名字太长了,要我就写 isSubscribed

  • 主 資深大佬 : zhuzhibin

    @superrichman subscribe 是订阅吧 你要是简写也应该是 is_follow ?

  • 資深大佬 : superrichman

    @zhuzhibin 我是习惯对象是人就 follow, 不是人就 subscribe

  • 資深大佬 : superrichman

    @superrichman 不过也没多大差别, 口语上也会混着用

  • 資深大佬 : PerFectTime

    老哥们定义变量名遵循啥规范? 随心所欲即可,记得住就可以

  • 資深大佬 : AllenHua

    我和你差不多的习惯

    不过变量名是一个名词 尽量语义化成一个名词就行了 前面的 check 检查的动作是逻辑代码里做的

    检查用户是否关注过公众号 userHasFollowedOfficialAccount = true

    检查用户是否正在关注公众号 userIsFollowingOfficialAccount = true

  • 主 資深大佬 : zhuzhibin

    @superrichman 有点道理 狗头:)

  • 主 資深大佬 : zhuzhibin

    @PerFectTime 你是记得住 其他老哥 review 的时候 就被骂了

  • 資深大佬 : AllenHua

    英语的时态和语态 在变量命名中 如果语义化的很好 那么代码可读性就会很强(英语能力稍微过关即可)

  • 資深大佬 : PerFectTime

    @zhuzhibin #8 小公司没有 review,自己看得懂就好 老哥们定义变量名遵循啥规范?

  • 主 資深大佬 : zhuzhibin

    @PerFectTime 老哥,随心所欲没有错,因为不一定强制规范,但是你说小公司的没 review,这就是你的不对了(狗头),我也是在小公司,不管是自己写代码或者啥的,我们应该都要有一套规范或者说约定,这样自己以后也方便阅读,也方便别人阅读,跟公司大小无关,跟自己有关,例如你自己一个人写代码你同样可以遵循代码规范、git-commit 规范 https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines

  • 主 資深大佬 : zhuzhibin

    @AllenHua 我觉得有时候那种没那么语义化的 我有点难定义 有时候赶时间就乱搞 直接直译一下 这里顺便也吐槽一下微信官方的文档 其实那些变量也不怎么滴 狗头:) 懂的都懂

  • 資深大佬 : wolfan

    前缀简写,驼峰全名,词尾加属性。生成、设置类用_分割(不用驼峰)

  • 資深大佬 : wzb0909

    模块化做好一点,小函数里面的变量名字就别纠结了。

  • 主 資深大佬 : zhuzhibin

    @wzb0909 别抬手就模块化吧,每个人有各自的习惯,不觉得不纠结那就不纠结罢了

  • 資深大佬 : zictos

    看到一段代码,如果变量名称太长而自己又没耐心去仔细研究的情况下会觉得很吓人,情愿去看变量短的,结构显得更简洁。但有耐心的情况下有时候变量长会好理解一点。
    变量只是一个名称,只要能大致看懂就可以了,不然就成英语了。你说的“用户完成的任务总数量对应的奖品或者其他一些有的没的”,把“奖品”当作重点就行。再说同一个变量还可以反复赋值,函数里面的变量与外面的变量不冲突。

  • 主 資深大佬 : zhuzhibin

    @zictos 确实有道理 感谢建议~

  • 資深大佬 : NexTooo

    过长的话我会缩减,内部变量靠注释,外部会调用的变量一部分交给类名来解释
    如你这个我可能会改成 checkFollowed 这样,便于阅读,如果还看不懂可以跳转到具体变量声明处看注释

  • 資深大佬 : NexTooo

    个人观点,不是命名对应功能越完善就越好,突出重点就行了
    你这个我要反复看两三次逐词翻译才能确定是啥意思,这种时候交给注释会更好吧,句子读起来比驼峰代码块快多了

  • 資深大佬 : MeatIndustry

    建议阅读一下 clean code

  • 資深大佬 : ALVC666

    我也有陷入过这种的情况
    感觉过长的还是缩短然后加注释比较好

  • 資深大佬 : wzb0909

    @zhuzhibin 是的你说的对。

    如果这个变量是用户的属性,公众号只有一个,我想就是 isSubscribed 最好。
    如果是一个方法,并且用户和公众号都是不定的参数,哎,这是一个关系查询,我喜欢把动词放前面,用不同动词区分本地 /远程,立刻 /缓存,突出一个对立的差别。动词的参数变多,后面跟的解释难以避免会复杂。如果公众号确定一个,上面网友说的 checkFollowed 就好(当然我还是认同 subscribe )。
    check_subscribed 和 subscribed 是两个概念,前者生成后者。然后,我感觉前面的网友都,是当作属性名字去讨论的,是方法就更复杂些(动词比名词复杂)。
    我不喜欢长名字,不过长名字有时候也必要。

  • 資深大佬 : aoeui

    yhsfgzgzh

  • 資深大佬 : 123abcdf11345

    woshigebianliang = true

  • 資深大佬 : Shook

    // 用户是否关注过公众号
    const isFollowed = true;

  • 主 資深大佬 : zhuzhibin

    @MeatIndustry 好的
    @ALVC666 但是也不能太依赖注释咯
    @aoeui

  • 資深大佬 : RedBeanIce

    1,Java 编码的时候,一般建议少写不必要的注释,代码可以描述清楚的问题代码解决
    2,变量长一点没有太大关系,不要过于长,如一,代码越清晰越好
    3,

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具