如何让code变得更易读

简介: 如何让code变得更易读

从开始编码到现在,从没有意识去如何去写出更加规范,更加易读的代码,只是按照需求将某一功能进行实现。


下面是最近在网上搜索查看的一些通用的知识点,做一记录。


单一抽象层次


单一抽象层次是指一个函数或者方法中的所有操作处于相同层次。


其实说白了就是把复杂的东西,业务多的模块进行细小的在拆分。让其函数只做一件事。


下面这张图就可以说明这个单一层次。对复杂的模块再次进行拆分,整理。让思路更加清晰,不要把所有的业务逻辑写在堆积在一个方法中。


679140-20180604172848143-410527249.png

最小化缩进


其实这个是说在写业务逻辑代码中,在复杂的条件判断中,我们应该先对其进行否定判断,先排除其最有可能跳出的操作,接着在进行调用正常的功能模块。在if/else的判断中尤其重要,不要一味的把自己置身于复杂的功能模块中,这对于我们定位错误,解决bug有很大的帮助,这样我们就可以把焦点放在正确的代码上,不必要在一层一层的进行进行代码分析。



679140-20180604172849251-1542126364.png



解释:


1、针对头重脚轻的if/else,尽量早使用return返回,减少语句的嵌套。


2、合并分支,有些分支执行的内容是相同的,可以合并为一个。


3、扁平化,让负责的功能模块变得简单,易懂。


清晰表达式


优秀的代码不是越少越好的,而是理解它花的时间越少越好。记住,你写的代码不只是只运行一次,不只是你一个人看的。要写出大家都能看的懂的代码。


可读性基本定理----代码应当使别人理解它所需的时间最小化



679140-20180604172850955-1345451533.png



善用辅助类拆分


类的职责分配,对于类来说,它的作用毋庸置疑,它是一个抽象的具体存在,有时候它很简单,有时候又特别巨大,当它被你写的特别巨大的时候,你就要看看你自己那块是不是写的有问题。


这个时候就需要辅助类来帮助主类来分担一些细微,功能性不是很强的模块。

哪些模块应该交给辅助类来负责了?


1、不产生数据的函数;


2、不修改数据的函数;


3、有输入就有明确输出的函数;


4、不和外部对象交互的函数;


寄语:


  • 写出来的函数是要给人看的;


  • 理解函数所花的时间应该越短越好;


  • 优秀的代码都是后期修改出来的。


目录
相关文章
|
7月前
|
数据可视化 Linux 开发工具
10个极大提高开发效率的VS Code技巧
10个极大提高开发效率的VS Code技巧
|
6月前
|
Python
通过f-string编写简洁高效的Python格式化输出代码
Python 3.6中引入的f-string是Python中最常用的特征之一,它可以让我们编写更干净、更高效和更易于维护的代码,我们今天就由浅入深来详细介绍使用它的一些技巧。
475 4
|
6月前
|
算法
Clean Code 代码整洁之道 格式
Clean Code 代码整洁之道 格式
|
6月前
|
算法 Python
Python3注释:让你的代码更清晰更易读
Python3注释:让你的代码更清晰更易读
|
7月前
|
Rust 自然语言处理 算法
【Rust 中的错误处理:掌握 Option、Result、expect、unwrap 和 ? 运算符】Error Handling in Rust
【Rust 中的错误处理:掌握 Option、Result、expect、unwrap 和 ? 运算符】Error Handling in Rust
245 0
|
开发者 Python
Python 注释:解释和优化代码可读性
注释可以用来解释Python代码。注释可以用来使代码更易读。注释可以用来在测试代码时防止执行。
146 1
|
Linux 程序员 C语言
Vs code写C语言代码配置(超详细超基础)
写在前面: 近期不是重新温习一下C语言吗,也给自己升级换代一下编辑器,最初我一直用Dev c++ 写的C语言,因为没想往深的学习C语言,也不会去写什么大的项目,所以这个编辑器也是可以用,但是目前认真学习,发现那个东西真的适合初学者,对于我这种懒人不适合,项目代码管理起来很麻烦,所以一气之下我直接鸟枪换炮,整个大家伙——vs,但是vs真的太大了,而且默认装在C盘,我这破电脑小内存扛不住,所以就研究了一下vs code,下面就本人安装经验给新学者讲解如何安装。
817 0
|
前端开发 C++
VS Code配置snippets代码片段快速生成html模板,提高前端编写效率
VS Code配置snippets代码片段快速生成html模板,提高前端编写效率
217 0
|
Python
python中关于IndentationError: expected an indented block 中不易察觉修改原代码错误的解法
python中关于IndentationError: expected an indented block 中不易察觉修改原代码错误的解法
1352 0
python中关于IndentationError: expected an indented block 中不易察觉修改原代码错误的解法
|
存储 Go Python
Go-动态类型与类型断言详解(含type-switch及全部代码)
Go-动态类型与类型断言详解(含type-switch及全部代码)
126 0
Go-动态类型与类型断言详解(含type-switch及全部代码)