写点什么

编程思考路径 2 条

用户头像
顿晓
关注
发布于: 2021 年 05 月 12 日
编程思考路径2条

梳理一条思考路径:

数据类型+函数的方式,函数中处理有相同逻辑的类型,是通过在函数中 switch 的方式;

考虑到数据类型相对稳定,函数随业务多变,所以 switch 导致业务变更成本增加;

对象提供了一致的接口,让业务逻辑的函数能消除 switch,从而变得简洁,同时适配新数据类型的修改成本也很低;

但为对象增加新的接口,还是不低,需要为每个对象都增加;

接口的默认实现就很有必要,兼顾了业务逻辑/函数的变更和对象动作/接口的变更;

当然接口默认实现满足不了的情况下,还可退回到每个对象单独实现/重载。


路径 2:

编程要素的顺序--Prelude、Types、Datas、Functions

源文件考虑的是存储顺序,Prelude、Types、Datas、Functions,为的是方便人阅读时检索;

阅读源文件的顺序:Types 和 Functions 为先,具体哪个先看你阅读源码的目的,Prelude 和 Datas 是辅助信息;

编写源码的顺序:Functions,Types,Datas,Prelude。

TDD 是编写源码的最佳实践,也基本是这个顺序,尤其在 IDE 的辅助下,尤为高效:

函数是骨架,同时也实现价值,所以从 backlog 取一个 user story,写下第一条 AC/一个测试函数,

函数内写下一条语句,如:Programer jim = new Programer(); 其中包含了 Type,可以是 class 也可以是 struct;

然后借助 IDE 把自动创建 class Programer;

接着写下第二条语句,如 done = jim.coding();其中包含了一个对象动作/函数;

然后借助 IDE 自动创建新方法 coding;

然后写下第三条语句,assertTrue(done);其中包含了 coding 方法的预期结果;

然后实现 coding 方法内容。


发布于: 2021 年 05 月 12 日阅读数: 11
用户头像

顿晓

关注

因观黑白愕然悟,顿晓三百六十路。 2017.10.17 加入

视频号「编程日课」 知识星球「俺的死党顶」

评论

发布
暂无评论
编程思考路径2条