[DAY29] 总回顾

导入 DDD 後专案真的有变比较好吗?

  • 从测试的角度

    之前的篇章中有提到,旧有测试都是以 controller 和页面文字进行测试,因此可以视为测试覆盖率为 0 %,以此基准来比较的话,导入 DDD 後测试覆盖率提升约 60 %。

    这边的测试覆盖率包含原生 rails 产生的 model、worker 等等及 domains 资料夹,不包含 controller 及 view。

    这代表单元测试变得更好写,工程师更愿意花时间去写测试,而完整的单元测试能保护程序码不出现非预期的行为更动,也能降低下次开发的时间与成本。

  • 从需求的角度

    DDD 流程中需要花很多时间与业务人员和领域专家讨论,在沟通过程中会产生共通语言,共通语言能使所有利害关系人(stakeholders)站在同一阵线,不会造成我说的 A 跟你说的 A 不一样的情况。这有效降低了开发出的功能没有达到预期效果而做白工的情形发生,让整个团队从功能开发迈向需求开发。

  • 从 coding style 上来看

    有了 Boxenn 套件的帮助,整个专案的写法便有了强制规范(相较文件来说),因此在开发时更能专注在需求开发,除此之外还能加速 code review 的时间。

  • 从知识传承上来看

    对教育新人来说,不用了解所有过往的知识便能进行开发,业务知识已经被封装在各自的 domain 中,如此一来能降低上手难度。

因此我觉得不论实践程度如何,导入 DDD 确实对专案有不小的帮助。


<<:  【第三十天 - 结尾】

>>:  Day 29 middleware - thunk

Day28 深入解析Elasticsearch Query DSL Match query Part1

Hello大家, 台北阴雨绵绵, 早上到公司裤管都湿答答的="= 不舒服... 今天我们来...

用 Python 畅玩 Line bot - 24:Flask(二)

mongoDB 除了可以让 line bot 使用之外,flask同样也可以去透过 pymongo ...

【Day1】下载VsCode来开启我们的前端测试不归路吧(╬•᷅д•᷄╬)

嗨各位看官们,对~又是我! 这是第二次参加铁人赛,除了要检视自己是不是有进步以外, 也想把这一年来有...

DAY 19 我要+1 群组团购辅助机器人

前面文章在处理讯息文字,这里我要做的功能是在群组内喊要什麽东西+1,资料库能把它纪录下来 资料库 这...

【Day 8】Python JSON与demjson

JSON模组(Python内建) 说明:主要用来读写JSON档案。 何谓JSON? 说明:JSON全...