敏捷开发与项目管理TDD(测试驱动开发)

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

2019-05-22  本文已影响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总监咨询师

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

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

如何获取直播地址?

免费名额有限

长按扫描海报二维码

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

上一篇 下一篇

猜你喜欢

热点阅读