10x 程序员工作法
郑晔
开源项目 Moco 作者
53432 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
思考框架 (1讲)
10x 程序员工作法
15
15
1.0x
00:00/00:00
登录|注册

答疑解惑 | 如何在实际工作中推行新观念?

外部服务的测试
数据库测试
Moco模拟服务器
防腐层(Anti-Corruption Layer,ACL)
接口隔离原则(ISP)
外部系统的测试
Lead by Example
改变团队的做法
学习模型
问题2:测试怎么写?
问题1:想要推行 DDD,阻力很大怎么办?
答疑解惑 | 如何在实际工作中推行新观念?

该思维导图由 AI 生成,仅供参考

你好,我是郑晔。
在整个专栏的最后一个大模块"综合运用"中,我们把前面学到的各种原则和知识穿插在一起应用在了不同的场景中。在这个模块的答疑中,我们也综合汇总一次,把整个专栏中出现的一些有趣却还没有来得及讨论的问题放在一起。

问题 1:想要推行 DDD,阻力很大怎么办?

段启超 同学提到
想在公司内推行 DDD,阻力真的很大,首先是很多人对 DDD 没概念,需要一定的学习成本,二是团队间相互隔离,沟通成本很高,起码的通用语言都很难达成。
段启超同学提到的这个问题是一个非常典型的问题,而且,这个问题并不仅仅局限于 DDD。你在一个地方看到了一些好东西:技术、实践,或是想法,然后想把它运用在自己的项目中,希望项目越做越好,越来越顺利。但在实际情况中,想在一个组织内推广一些不一样的东西,都会面临层层阻力。
我在《40 | 我们应该如何保持竞争力?》中提到了一个学习模型,你只要在学习区不断地练习新技能,很快就可以超越同侪。其中的原因是,大部分人只习惯待在舒适区,在舒适区的人能力上的进步非常有限。也因为在舒适区实在太舒适了,走出舒适区会让人产生焦虑,所以,人的内心是惧怕改变的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文探讨了在组织内推广新理念时可能面临的阻力以及应对之道。作者分享了在推广领域驱动设计(DDD)时遇到的挑战,并提出了解决方案。强调了通过具体的行动来展示成果的重要性,并以实际案例说明了通过“Lead by Example”来引领变革的有效性。此外,文章还讨论了在项目工程中如何写测试的问题,包括对外部系统和数据库的测试方法。作者建议通过接口隔离和模拟服务或本地可控的方式进行测试,以确保业务代码的可测性。总的来说,本文提供了在推广新理念和进行测试时的实用建议和启发,对读者应对类似挑战具有指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《10x 程序员工作法》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(14)

  • 最新
  • 精选
  • 西西弗与卡夫卡
    找团队进行试点,这个很重要。最近我们在推行信息化,一种方法是从上往下强推,我们采用的是第二种,主要从下往上推动,即让大家觉得方便工作高效。从下往上,许多团队就会观望,先找团队试点,改善他们流程提升效率,看到失效,其他部门也就容易攻克了

    作者回复: 如果从组织转型的角度,确实需要从上开始,但必须有一个试点先落地,否则就是,上面有呼吁,下面没响应。

    2019-04-19
    15
  • 孤星可
    回答一下 mybatis 的测试问题 我建议直接看源码 4w行 其中2w是测试代码

    作者回复: 很好的补充

    2019-04-19
    9
  • 大力
    Talk is cheap. Show me the example.🤓

    作者回复: 我也很想讨论更多细节,篇幅有限,唉!

    2019-04-21
    7
  • desmond
    技术推广,不要先推广最难的部分,先推广能让对方感到最明显好处的部分。 取得对方的信任,是友好沟通的基础。

    作者回复: 非常赞同这个角度!

    2019-04-19
    6
  • J.M.Liu
    追了快一个月,终于赶在专栏结束前追上大家了,郑老师好呀,同学们好呀,很高兴见到你们。不过马上就又要分别了,真有一丝不舍

    作者回复: 欢迎加入,学到知识是最重要的。

    2019-04-20
    5
  • 宝宝太喜欢极客时间了
    老师,有没有对mybatis单元测试写的好的开源项目或者博客之类的推荐个

    作者回复: 对于 Java 的话,我通常采用的是 Spring 的方法,测试之后回滚,没有专门针对 MyBatis 进行过处理。

    2019-04-19
    2
  • Sic Pavis
    防腐层这个深有体会,直接依赖外部对象,一旦外部更新结构,对服务来说就是灾难性的。 关于外部依赖怎么做单测,文章已经讲过,数据库如果想测试sql查询逻辑,我这边目前是用的h2内存数据库,麻烦点在于需要在两个地方维护表结构,而且部分MySQL语法可能不兼容。单测启动时创建一个和正常环境结构相同的数据库,然后可以随意操作数据,单测结束数据也会跟着销毁。

    作者回复: 一种隔离是数据库,一种隔离是业务接口。

    2020-12-02
  • helloworld
    依赖第三方系统时增加一个防腐层的做法感觉非常好!对于依赖第三方系统的代码测试能模拟第三方的就弄模拟

    作者回复: 在《程序员的测试课》里,我详细讲解了怎么做。

    2019-05-14
  • 研发
    专栏截止目前出现的书单 《人月神话》 《Rapid Development》/《快速软件开发》 《精益创业》 《从一到无穷大》 《卓有成效的管理者》 《设计模式》 《Succeeding with Agile》 《解析极限编程》 《测试驱动开发》 《User Stories Applied》和《Agile Estimating and Planning》 《高效能人士的七个习惯》 《三体》 《大富翁》 《通信的数学原理》 《程序设计实践》 《圣斗士星矢》 《五分钟商学院》 《实现模式》 《计算机程序设计艺术》 《重构:改善既有代码的设计》 《持续交付》/《持续交付 2.0》 《敏捷软件开发:原则、实践与模式》 《架构整洁之道》 《淘宝技术这十年》 《领域驱动设计》 《实现领域驱动设计》 《领域驱动设计精粹》 《修改代码的艺术》 《C 程序设计语言》《程序设计实践》《Unix 编程环境》 《人类简史》 《未来简史》
    2022-03-01
    2
    8
  • ifelse
    关于外部系统的测试,你可以先通过接口隔离开来,然后,通过模拟服务或本地可控的方式进行测试。--记下来
    2022-05-02
    2
收起评论
显示
设置
留言
14
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部