程序员练功房14天编程训练总结

       最近持续几周,一直打卡参加学习熊节老师的《程序员练功房》的TDD学习14关,有些感悟和总结在这里记录下:

       在刚开始接触的时候,感觉先写测试再写代码真的很浪费时间,在第一关学习打卡的时候就比较排斥,在想TDD到底好在哪?带着疑问,通过上网查资料和看书,结合老师的TDD方法论,经过几次打卡练习,慢慢发现以往开发的不足,以前开发都是先写代码后测试很容易使前期的思考不全面,从而写出了无法完成全部任务的代码。平时遇到这个情况,无非就是继续返工。可是反反复复的编写、调试和失败也浪费了大量的时间,归根结底就是因为没有想好要去做什么、做到什么程度、怎样去做。

       一、所谓TDD(Test Driver Development),即测试驱动开发,顾名思义就是以测试代码驱动程序开发,先写测试用例,然后用代码实现测试用例。

       二、测试驱动开发流程如下:

 三、如何分析拆解任务(像机器一样思考):

   分析问题步骤:

  1. 分解问题
  2. 找到子问题之间的关联(通过输入输出关联起来)
  3. 找到问题的边界,明确假设与结果

       画图的规则:

  1. 图基本元素由方块和带箭头的线组成
  2. 一个方块只代表一个函数或一个代码块,通常是函数,方块中可以写字,可以表达函数是属于哪个类或哪个实例等信息。
  3. 指向方块的线代表该函数的输入,背离方块的线代表函数的输出。
  4. 数据流动的时间轴遵守先从左到右,再从上到下的顺序。
  5. 每一对输入输出(输入在上,输出在下)加一个方块,表达了一次函数调用。

 四、测试用例编写:

       测试用例需要有given、when、then,既已有条件、执行什么和最后期望的结果,在选取测试用例时既要全面又不能过多显得冗余。测试类名、方法名命名规范名词意思表达清楚(比如: should_return_correct_args_parser),可选取边界值及一个起始值或中间值,这样基本可以覆盖整个测试情况。

 五、方法论:

      先写测试,再写代码,每行代码是否都是由测试驱动出来,反思浪费时间点卡在哪里,是否有改进办法,另外,重复练习,结合学习资料,形成一个好的开发习惯

六、TDD代码展示:

    1. 核心代码:

  1. 测试用例展示:

最后,感谢熊老师和他的练功房,让我能反思自己代码,从中提升和加强自己的开发能力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值