美文网首页敏捷开发与项目管理TDD(测试驱动开发)
免费直播| TDD如何颠覆了我对开发的认知?

免费直播| TDD如何颠覆了我对开发的认知?

作者: 这个夏天有点野 | 来源:发表于2019-05-22 19:14 被阅读4次

不知道大家最近是否感到,2019年“敏捷开发”四个字的出现频率越来越高。在我的认知里,有果必有因。

5月初甲骨文裁员事件是风暴的开始,很多一线大厂,强如华为、腾讯、美团都准备做两手打算——一方面减员增效,一方面做敏捷转型,试图通过轻量级的开发和适应性的计划方法来应对市场变化

一句话,对企业来讲,成功的核心是能保持比对手更低的成本。

你工位旁的老王被裁员了,而你没有,一定是你的效率比他高——分别给你俩3小时,你的项目成功交付,bug很少,他连个毛都没做出来,你是老板,你怎么选?

如何在不景气的时候保住饭碗,成为更高效、更有市场价值的开发者?

敏捷开发的关键是——「尽早交付,持续改进」。两个关键词,“尽早”说的是时间点——是叫你交付早。“持续”——则说的是一个状态,以终为始、无始无终,翻译过来叫996,让白天也懂夜的黑,对吧。

让我猜猜,如果你所在的企业不甘人后,开始自力更生落地敏捷,往往会选择 Scrum 或 Kanban 这两个方法论,白板立起来、小纸条贴起来、站会开起来,几个动作一PUSH,就好像连上厕所都变得敏捷了不少——别傻了,我管这种行为叫开发界的COSPLAY

打过地鼠吗?你的产品上线后,就会像打地鼠一样,1个bug消灭了,另外2个站了起来,一开始你会陷入混乱,然后会陷入对敏捷开发的恐惧,进而开始怀疑人性的真善美。

是「敏捷」的问题?还是人的问题?

如何保持良好设计?如何在有猪队友频繁修改代码的情况下,还能保证代码质量以及你内心深处的平和?

答案就在极限编程(eXtreme Programming)中。

TDD(测试驱动开发)就是「极限编程」的核心实践,就像钥匙——拧动TDD,你就拧开了敏捷开发的大门。

作为TDD(测试驱动开发)的实践者,我打算分享一下我在ThoughtWorks的工作经历,讲一讲我是如何和TeamWorker一起,用TDD来提高效率,从而获得了之后的晋升机会。

加入 ThoughtWorks 后的第一个项目,让我颠覆了对 Android 开发的认知,让我知道了什么叫「要聪明地工作,而不是努力地工作」。

我当下面临的问题是——把基于 Windows CE 的某应用移植到 Android 系统上,使用 Robolectric 框架,①不需要真机,②也不需要模拟器,③在 JVM 上就能跑测试,要求在3 分钟就能跑完 2000 多个测试用例。

题干讲完了,我是这么干的:

 ①明确并领取需求(用户故事形式)

    ②根据需求编写测试代码

    ③编写实现代码

    ④让代码通过测试

    ⑤重构代码保持整洁。

等所有测试都编写并通过后,再把应用启动,自动测试关键流程,最后搞定,打完收工。

听着简单,里边有几个关键点:

1.明确流程是为了让我们一次只关注一个点,思维负担更小

2.牢记红、绿、重构三原则:红 - 关注需求;绿 - 关注实现;重构 - 关注代码质量。

3.TDD 大法虽好,但难学。早在2003 年,前ThoughtWorks总监咨询师熊节就为中国程序员翻译且引进了《重构》一书,累计购买量达到20万人,16 年过去,《重构 2》都出来了,但很多程序员还是连重构和重写还傻傻分不清。TDD 需要具备扎实的基本功,这也是把很多初学者拒之门外的重要原因。

外行看热闹、内行看门道,想抓住机会提升自己,掌握能用于工作的TDD开发技巧,不妨先来听一听本周四晚7点的免费线上直播——《敏捷开发核心实践  晋级大厂程序员必备技能》

周四晚7点先参加免费直播,入门TDD,现场完成一个项目案例,了解敏捷开发核心实践,这将是你零距离面对技术大牛、零基础入门TDD的最好时机!

周四晚19点直播,限时免费!

周四晚19点直播,限时免费!

本周四晚19点直播,限时免费!

直播主题

《如何用测试驱动开发(TDD)提升你的编程效率》

直播大咖

熊节

前ThoughtWorks总监咨询师

主导华为、贝尔敏捷开发转型

《重构》译者 《敏捷中国史话》作者

如何获取直播地址?

免费名额有限

长按扫描海报二维码

添加熊节老师助教,立即参加

相关文章

  • 免费直播| TDD如何颠覆了我对开发的认知?

    不知道大家最近是否感到,2019年“敏捷开发”四个字的出现频率越来越高。在我的认知里,有果必有因。 5月初甲骨文裁...

  • 如何在Spring Boot中使用TDD写出高质量的接口

    之前在《如何说服你的同事使用TDD》中介绍了为什么要使用TDD(测试驱动开发),以及如何使用TDD写代码。文章发表...

  • Flutter:TDD单元测试

    此前,我曾写过关于TDD(测试驱动开发)的文章在这里它解释TDD是如何工作的,以及它将如何在我们日常的日常开发工作...

  • 颠覆了我对学习的认知

    核聚老师 预热第二课,学霸逆袭案例分析 一大早边收拾家边听核聚老师的课程,一遍又一遍的听,最终想要总结时,撸不出...

  • 单元测试 (Unit Testing) 在前端中的应用:Node

    知识背景 Unit Testing 目前分为两种——TDD(测试驱动开发)与 DDT(开发测试驱动),TDD 对程...

  • 【60】必有回响

    感谢樊登读书的出现让我有勇气和信心选择了人生新的道路,或是颠覆了大家对我的认知,更是颠覆了自己对自己的认知。 而后...

  • NodeJs单元测试

    本博客简要介绍NodeJs如何进行单元测试 单元测试类型 TDD:测试驱动开发TDD的原理是在开发功能代码之前,先...

  • TDD感想--记一次失败的TDD推广

    上周参加了一次TDD的开发培训,敏捷教练演示如何通过测试驱动出求质数的公式,借此向我们展示了TDD的巨大魅力。 "...

  • 颠覆了对习惯的认知

    从小到大,我都认为形成好习惯,规避坏习惯是靠先设立目标,再全力以赴便可成功。通过读书和实践,发现结果真的错...

  • 初识TDD

    什么是TDD 本文所说的 TDD 指狭义上的 TDD,也就是「单元测试驱动开发」。 TDD 是敏捷开发中的一项核心...

网友评论

    本文标题:免费直播| TDD如何颠覆了我对开发的认知?

    本文链接:https://www.haomeiwen.com/subject/kvcpzqtx.html