编程中最难的就是命名?这几招教你快速上手(2)

简介: 编程中最难的就是命名?这几招教你快速上手

Case3:整形变量为啥要用is开头

代码示例:

private int isFirstEnter = 0;

大脑活动:

为什么“is”开头的变量却声明成整形?到底是要计数还是判断真假呢?

代码跟读:

isFirstEnter < 1 做第一次进入的逻辑

修改建议:

private boolean isFirstEnter = true;

Case4:开关作用反掉啦

代码示例:

....
if (InfoFlowOrangeConfig.getBooleanValue(POST_DELAYED_HIDE_COVER_VIEW_ENABLE, true)) {
    hideCoverImageView();
} else {
    delayedHideCoverImageView();
}

大脑活动:

为什么开关名为“delay....”为“true”的时候,走的不是delay逻辑,那开关要怎么发?容我多看几遍,是不是最近没休息好所以看岔了。

代码跟读:

反复看了几遍,确实是开关命名和实际操作完全相反,开关名意为“延迟隐藏封面视图”,执行的却是“立即隐藏封面视图”。

修改建议:

....
if (InfoFlowOrangeConfig.getBooleanValue(IMMEDIATELY_HIDE_COVER_VIEW_ENABLE, true)) {
hideCoverImageView();
} else {
    delayedHideCoverImageView();
}

3、做有意义的区分

如果单纯只是为了区分两个名称不能一样,就使用就使用诸如数字,字母来做区分的话,那似乎是毫无意义的区分。

3.1 避免在名字中使用数字

case1: 来自包名的暴击

问题示例:

以下是首页客户端的工程目录节选,数字化的包名:recommend、recommend2、recommend3、recommend4

image.png

大脑活动:

2、3、4难道是因为首页历史包袱太沉重,推荐迭代的版本实在太多导致Old、New单词不够用所以用数字来代替新旧4个历史阶段的版本吗?

代码跟读:

  • recommend:推荐的公共工具和模块;
  • recommend2:收藏夹场景的推荐实现;
  • recommend3:首页场景的推荐实现;
  • recommend4:购后场景的推荐实现;

修改建议:

这里暂时只讨论如何把数字替换成有意义的命名

image.png

3.2 避免使用具有相似含义的名字

case1:同一个类下的“刷新7剑客”

代码示例:

image.png

大脑活动:

为什么一个Adapter类对外有七个刷新数据的接口?

"refreshData()" 和 “speedRefreshData()” 是什么区别?

“mainRefreshData()” + "refreshDeltaData()" =“mainRefreshDeltaData()” ?是一个拆分组合的关系吗?

我应该在何总场景下如何正确的使用refresh,我在哪,我在做什么?

代码跟读:

大部分refresh代码线上并不会被调用。阅读和调试下来,实际还在生效的方法只有一个:“gatewayRefreshData()”。

修改建议:

实际上这已经不是一个单纯优化命名可以解决的问题,无论叫的多具体,面对7个刷新接口都会懵圈。期望在方法声明期间,作者多体量后来的阅读者和维护者,及时的调整代码。

后来者可以从实际出发去假存真,做减法干掉其它无用的6个刷新方法保留一个刷新接口。

目录
相关文章
|
敏捷开发 前端开发 开发者
想要成为软件开发中的王者,需要明白的 21 条准则
想要成为软件开发中的王者,需要明白的 21 条准则
|
Java
编程中最难的就是命名?这几招教你快速上手(4)
编程中最难的就是命名?这几招教你快速上手
82 0
编程中最难的就是命名?这几招教你快速上手(4)
|
7月前
|
前端开发 JavaScript 调度
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
64 1
|
7月前
|
前端开发 算法 JavaScript
快来get策略模式,告别编程困惑,轻松变身编程高手✨
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。
|
Java 程序员 编译器
编程中最难的就是命名?这几招教你快速上手(1)
编程中最难的就是命名?这几招教你快速上手(1)
84 0
编程中最难的就是命名?这几招教你快速上手(1)
|
关系型数据库
编程中最难的就是命名?这几招教你快速上手(3)
编程中最难的就是命名?这几招教你快速上手
57 0
|
Java 程序员 开发者
优秀程序员的学习习惯和方法你都不知道,还学什么编程
好的学习习惯和方法会让你的工作事半功倍,快来看看你还差哪些
73 0
优秀程序员的学习习惯和方法你都不知道,还学什么编程
|
Java 关系型数据库 程序员
编程中最难的就是命名?这几招教你快速上手
编程中最难的就是命名?这几招教你快速上手
733 14
|
编译器 数据库 C++
领悟面向对象就离开发应用不远了(类提高)有你对面向对象的所有疑问,爆肝1w字
领悟面向对象就离开发应用不远了(类提高)有你对面向对象的所有疑问,爆肝1w字
157 0