编写测试友好型代码

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

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

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

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

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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/weiyinfu/p/11589173.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值