编程中最难的就是命名?这几招教你快速上手(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个刷新方法保留一个刷新接口。

目录
相关文章
|
6月前
|
敏捷开发 前端开发 开发者
想要成为软件开发中的王者,需要明白的 21 条准则
想要成为软件开发中的王者,需要明白的 21 条准则
|
6月前
|
Java
编程中最难的就是命名?这几招教你快速上手(4)
编程中最难的就是命名?这几招教你快速上手
38 0
编程中最难的就是命名?这几招教你快速上手(4)
|
2月前
|
设计模式 算法 程序员
代码之禅:从功能实现到艺术表达的技术感悟
【2月更文挑战第15天】 在数字世界的无限画布上,每一行代码都承载着创造的力量。本文透过作者多年的技术探索与实践,探讨编程不仅仅是逻辑的堆砌和功能的实现,更是一种深度思考与艺术表达的过程。从最初的代码拼凑者到后来的架构设计者,再到如今追求代码艺术性的实践者,文章将带领读者一同走进程序员的内心世界,感受那些被键盘敲击声激发出的灵感火花。
|
3月前
|
前端开发 JavaScript 调度
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
21 1
|
6月前
|
Java 程序员 编译器
编程中最难的就是命名?这几招教你快速上手(1)
编程中最难的就是命名?这几招教你快速上手(1)
36 0
编程中最难的就是命名?这几招教你快速上手(1)
|
6月前
|
关系型数据库
编程中最难的就是命名?这几招教你快速上手(3)
编程中最难的就是命名?这几招教你快速上手
27 0
|
8月前
|
Java 程序员 开发者
优秀程序员的学习习惯和方法你都不知道,还学什么编程
好的学习习惯和方法会让你的工作事半功倍,快来看看你还差哪些
36 0
优秀程序员的学习习惯和方法你都不知道,还学什么编程
|
8月前
|
机器学习/深度学习 人工智能 算法
【如何入门编程】编程升级通关绝招
【如何入门编程】编程升级通关绝招
32 0
|
Java 关系型数据库 程序员
编程中最难的就是命名?这几招教你快速上手
编程中最难的就是命名?这几招教你快速上手
608 1
|
SQL 安全 大数据
【基础理论-WEB测试】面试官让你介绍下web测试,标准的高大上回答如下:
【基础理论-WEB测试】面试官让你介绍下web测试,标准的高大上回答如下: