zoukankan      html  css  js  c++  java
  • 如何让code变得更易读

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

    单一抽象层次

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

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

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

    image

    最小化缩进

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

    image

    解释:

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

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

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

    清晰表达式

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

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

    image

    善用辅助类拆分

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

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

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

    1、不产生数据的函数;

    2、不修改数据的函数;

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

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

    寄语:

    • 写出来的函数是要给人看的;
    • 理解函数所花的时间应该越短越好;
    • 优秀的代码都是后期修改出来的。
  • 相关阅读:
    docker
    手动处理datanode磁盘间使用不均的问题
    Hadoop op 1)
    Python class and function json
    scala Basic 第三课
    spark streaming kafka example
    hadoop io PART1
    elasticsearch 集群搭建
    Scala编程第二课
    scala 第一课
  • 原文地址:https://www.cnblogs.com/netxiaohui/p/9134489.html
Copyright © 2011-2022 走看看