• 如何让code变得更易读


    从开始编码到现在,从没有意识去如何去写出更加规范,更加易读的代码,只是按照需求将某一功能进行实现。
    下面是最近在网上搜索查看的一些通用的知识点,做一记录。

    单一抽象层次

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

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

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

    image

    最小化缩进

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

    image

    解释:

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

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

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

    清晰表达式

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

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

    image

    善用辅助类拆分

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

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

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

    1、不产生数据的函数;

    2、不修改数据的函数;

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

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

    寄语:

    • 写出来的函数是要给人看的;
    • 理解函数所花的时间应该越短越好;
    • 优秀的代码都是后期修改出来的。
  • 相关阅读:
    【学习笔记】《Java编程思想》 第1~7章
    CodeForces
    第十六届浙江大学宁波理工学院程序设计大赛 E 雷顿女士与平衡树(并查集)
    第十六届浙江大学宁波理工学院程序设计大赛 D 雷顿女士与分队hard version(dp)
    CodeForces 862B(思维+二分图染色)
    CodeForces
    CodeForces
    CodeForces
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/netxiaohui/p/9134489.html
Copyright © 2020-2023  润新知