不知道大家最近是否感到,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总监咨询师

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

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

如何获取直播地址?

免费名额有限

长按扫描海报二维码

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

第二波福利

5月24日,熊节与极客学院合作的《14天TDD深度实战营》正式上线,14天项目制教学、3大核心项目、12个任务,致力于让广大开发者以更低成本入门TDD,获得进阶大厂程序员机会。

点击阅读原文

10秒了解TDD实战营,抢99元低价名额

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

  1. 免费直播:1小时带你体验Python车牌识别实战

    Python基础学会了,实战又是爬虫?太枯燥? 别无聊,CSDN学院邀请章秀淞老师开设技术直播课:1小时带你体验车牌识别实战.让你从众多车中,能用Python技术找到夏树上的那辆叔叔的奔驰车牌(玩笑) ...

  2. 免费直播课|Python数据可视化与科学计算可视化案例分享

    推荐图书: <Python可以这样学>,ISBN:9787302456469,董付国,清华大学出版社,第9次印刷 图书详情(京东): 董付国老师所有图书均提供配套教学资源. ======= ...

  3. 免费直播:1 小时带你体验 Python 车牌识别实战

    Python基础学会了,实战又是爬虫?太枯燥? 别无聊,CSDN学院邀请章秀淞老师开设技术直播课:1小时带你体验车牌识别实战.让你从众多车中,能用Python技术找到夏树上的那辆叔叔的奔驰车牌(玩笑) ...

  4. python计算工资编程-免费直播 | 编程小白如何通过学习Python获得超高工资

    从2020年人社部发布的新兴的职业中,其中有多个岗位跟AI.人工智能和大数据相关,从这就看的出来国家对这个行业重视.那么大家都知道,目前最人们的编程语言Python就是从事这个行业的首选编程语言,那么 ...

  5. 已有123所大学将云创大数据人工智能免费直播课引入课堂!

    4月28日,云创大数据正式发文公布了云创大学可以为高校提供高质量免费直播授课的通知.消息一经发出,受到各高校的积极反馈.截止到目前,已有123所大学将云创的大数据人工智能免费直播课引入课堂. 从5月2 ...

  6. 欲报从速,已有56所高校选择云创大学高质量免费直播授课!

    4月28日,云创大数据正式发文公布了云创大学可以为高校提供高质量免费直播授课的通知.消息一经发出,受到各高校的积极反馈.目前为止,已有56所高校通过微信小程序报名,选择了相关课程,分布在全国29个省. ...

  7. H5直播之四款好用的免费直播编码推流软件

    转自 https://yq.aliyun.com/ziliao/425253 本文讲的是四款好用的免费直播编码推流软件, 现代生活已经离不开互联网,离不开软件了. 这说法毫不夸张. 比如手机上各种AP ...

  8. Android进阶免费直播课,高中免费直播课程平台有哪些

    直播课程教育领域在近年来得到了快速的发展.越来越多的人选择了线上学习,那么你知道高中免费直播课程平台有哪些呢?下面是小编整理的详细内容,一起来看看吧! 高中免费直播课程平台 1.伯索云学堂 网上直播授 ...

  9. 小型直播系统系列-乐聊TV的开发(四)

    小型直播系统系列-乐聊TV的开发(四) 这一节,我们讲解一下基于websocket的弹幕实现:首先了解一下websocket协议 websocket 们知道,传统的HTTP协议是无状态的,每次请求(r ...

最新文章

  1. 电子与计算机工程 加拿大,加拿大本科热门专业:电子与计算机工程
  2. 基于Spring Boot和Spring Cloud实现微服务架构学习--转
  3. 忘记目标 潜心做事([日] 端河光二)
  4. VC++中忽略所有默认库纯Win32 API编译及链接 - 计算机软件编程 - Wangye's Space
  5. Python数模笔记-模拟退火算法(4)旅行商问题
  6. python可以做什么工作-Python可以做什么工作?Python有哪些方向?
  7. linux文件服务器迁移方案,服务器之间文件备份方案、如何把服务器文件自动备份到另外一台服务器?...
  8. SQL Server常用查询指令
  9. Apache Ranger KMS 部署文档
  10. cpu测试稳定性软件,测试CPU稳定性工具Prime95
  11. 《美国职业橄榄球大联盟》:NFL·橄榄1号位
  12. C语言平面几何19-三角形的重心和垂心
  13. 动态化部署:Android热修复之代码修复(一)
  14. Shader编程学习笔记(五)—— Fixed Function Shader 1
  15. 微信小程序:好玩的表情包机器人
  16. STM32也能玩高大上:实现目标分类
  17. 华硕k5555l拆解图解_【多图】【教程】华硕K555L笔记本拆机除尘图解,通用此类模具所有笔记本...
  18. DzzOffice + OnlyOffice 文档协作平台
  19. 【ODOO OWL】基础 Owl 的 mount 挂载应用程序
  20. 实锤!阿里集团将剥离阿里云 100% 股权

热门文章

  1. ai合成迪丽热巴下海_丽热巴被富家哥求婚,男方坚持示爱九个月,当众下跪赠女方豪车...
  2. adb remount overlayfs的说明
  3. C语言实现去掉字符串中指定的字符
  4. python后端接口怎么写_看看人家那后端API接口写得,那叫一个优雅!
  5. 数据结构之查找算法:B+树
  6. 操作系统之计算机系统概述:1、操作系统概述(定义、功能、作用)
  7. 计算机网络之传输层:2、UDP协议
  8. PyQt5学习笔记01----第一个窗口
  9. 求正整数N(N1)的质因数的个数,相同的质因数需要重复计算(java)
  10. 1313. 解压缩编码列表