zoukankan      html  css  js  c++  java
  • 编写测试友好型代码

    有些代码,很容易测试。有些代码,很难测试。

    容易测试的代码必定是高度解耦的代码,不容易测试的代码必定是高度耦合的代码。

    对于高度耦合的代码,你只能进行通测,难以进行单元测试,因为代码本身拆不开、剪不断、理还乱、很愁。

    解耦的重要技术就是反射。让主程序通过反射的方式去发现它有哪些模块,它的子模块都是独立的、是可有可无的、是可插拔的。

    测试友好型代码就是高度解耦的代码,高度解耦的代码就是易于扩展的代码。

    整个项目由很多可复用的零件组成,它的复杂来源于零件众多,而不是零件之间错综复杂的关系。复杂有两种:一种是简单拼起来的复杂,一种是事物盘根错节形成的复杂。天上的星星很多,但是每个星星都很相似,这是简单拼起来的复杂,它虽然内容繁多,但是很容易让人举一反三,快速了解事物的全貌;九连环的每一个环都互相影响,华容道每个木块都互相影响,这就是事物盘根错节形成的复杂。

    谁要是能把错综复杂的关系转化为单一的同构的简单组件,那便是对复杂实现了“降维”,把高维复杂变成了低维复杂。

    递归是单一同构的复杂。为什么人们认为单一同构的复杂更为简单?因为事物的整体结构便于理解。

    读一首诗,人对即将读到的事物会有整体的把握,比如下一句包含的字符个数,下一句包含的字数。

    人对单一同构的事物会充耳不闻、视而不见,因为人脑已经进化得更为关注那些奇特、没有规律的内容。于是,生活中经常见到读了一首古诗,只是单纯的读了一遍,对内容没有进行理解。读宋词则完全不一样,宋词错落有致,句句奇特,让人很容易集中注意力。

    人对工整、单一、同构的事物有一种天然的崇敬之心。同样的意思用韵文表达出来就让人感觉这话乃是天意,是自然而然形成的,是好的。

    诗是一种规范、一种模板、一种套路,离散数学中的代数系统也是一套模板、一套规范。只要几个运算之间符合某种运算性质,那么就可以断言这个代数系统是否存在幺元、零元、所属的代数系统的类型,一旦代数系统的这些特性确定了,人们就能够对这个代数系统有直观而全面的认识。

    人虽然无法理解高维空间,但是人会进行类比推理。类比推理是人们认知事物的重要手段。而运用类比推理的前提就是:事物必须单一、同构。

    单元测试是一种技巧。在建造房子的过程中,需要设置许多脚手架,一旦房子盖完了,就要移除这些脚手架。不同的软件系统有不同的单元测试方法。

  • 相关阅读:
    成功实施的APS项目故事分享---我们数据治理的心路历程
    成功实施的APS项目故事分享---如何管理与激励APS项目团队
    东莞裕同&易普优APS项目启动啦!
    包装印刷行业裕同集团&易普优APS项目顺利验收!
    易普优APS混流排序算法助力汽车整车厂的均衡生产
    动态调用WebService接口
    C#推送RocketMQ信息
    DEV带筛选行CheckBox选中问题
    验证上传文件真实格式
    PLSQL导出触发器代码
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/11589173.html
Copyright © 2011-2022 走看看