先打个招呼,我要介绍一个老朋友,熊节,我来为大家科普一下关于编程一分钟教你学会?下面希望有你要的答案,我们一起来看看吧!

编程一分钟教你学会(如何提升10倍编程效率)

编程一分钟教你学会

先打个招呼,我要介绍一个老朋友,熊节。

介绍他的重要原因是,从“大学肄业”到ThoughtWorks总监咨询师,从业18年,他倡导的敏捷开发影响了包括我在内的一代程序员。

什么才是程序员的核心竞争力?如何提高开发效率?2800字,强烈安利给工作8年以下的程序员:

【熊节原创】

当年我们开发一款安卓APP,用测试驱动开发的方式,不需要真机、不需要模拟器,在 JVM 上直接跑,编程一分钟教你学会(如何提升10倍编程效率)(1)180秒跑完 2000 个测试用例,平均每0.09秒跑一个,我们下班回家老婆孩子热炕头时隔壁的大哥们还在写Bug。

这个事情发生在2014年,也让我有了一个新思考。

第一,站在个人角度,在996大环境下,程序员的核心竞争力到底是什么?

看的人多、时间长就能发现规律,1-3年求发展,3-5年求跳槽,5年以上求破瓶颈。我觉得核心解是开发效率。

我不知道这些场景有多少人遇到:

    拿到一个需求,琢磨半天想不明白如何分解,不知道怎么下手;

    一开始代码没测试,上线后,经常半夜被抓来处理问题,不要问我代码有没有坑,我自己也不知道;

    新功能要改动一块老代码,不敢轻易下手改,每做点修改都很害怕。

开发效率低,要么低在需求上,要么低在质量上。很多朋友在后台留言,其实就是一句话:为啥我的开发效率低?

我觉得原因是观念停滞,方法陈旧,但求偷懒。

现在有一个误区,各大企业面试,比如流传的阿里技术面,他就考你JVM的细节啊、高并发。他并不是一个程序员日常开发效率的体现。

我们就会去刷题、背算法,至于这些东西一年到头用几回,无所谓。理解需求、拆分任务、编写测试、高质量的代码实现——很少有程序员意识到,我每天的工作是什么,我的基本功如何。

如果一个人意识到了并且开始刻意训练,他就会在这个团队中鹤立鸡群。

这会带来什么效应?别人会看到这个人价值很大。我2013年在ThoughtWorks带的员工,在我这干了1年,去教合作公司号称有多少年经验的程序员怎么做软件,这些老程序员还很服他。

我们之前讨论过一个问题,为什么明明知道有用,但是我们就是很少人会写单元测试?

除了工作环境,我觉得很大原因是现在至少80%的程序员都在凭本能开发。

基本功不扎实 不写单元测试,两个加起来就是天坑。以为不写测试做得快,最后会陷入效率低的死循环:

    对需求把握不准,写完PM不认;

    代码有没有坑不知道,3个月前写的代码一碰就虚;

    添加新功能就破坏旧功能,测出一堆bug加班修,bug越修越多;

    以上循环,就会陷进无限返工、低效率的焦油坑。

2001年我们敏捷开发圈里一个朋友,用测试驱动开发的方法,大家一个礼拜的活他半天就做完,剩下四天半他就在那上网炒股,后来炒股还赚了不少钱。

很多人说没时间搞测试,这是一个很大的误区。

写测试的本质就是在描述,清晰框定需求,本来就该做的事之前不做,用手快来掩盖方法慢。

更大的问题是,像腾讯、阿里、头条、美团、百度,越是大厂越要测试先行,你在小厂不写测试、工作方式不对,就越难跳到一线大厂。

之前还能吃大锅饭,今年5月甲骨文裁员开始,腾讯、阿里、百度、京东、今日头条、美团,很多一线大厂都在紧急做敏捷转型,能力行的上,不行的走,试图通过轻量级的开发和适应性的计划方法来应对市场变化。

我是熊节,前ThoughtWorks总监咨询师,拥有十八年从业经验,我曾为多个大型企业架构开发软件系统,带队领导了华为、中兴的敏捷开发转型。

我10年前曾翻译过《重构》、《最后期限》、《软件工艺》,希望能把敏捷开发引进中国。

我是如何在工作中实践敏捷开发的?

测试驱动开发(T编程一分钟教你学会(如何提升10倍编程效率)(2)DD)是敏捷开发的核心实践,就像钥匙——拧动T编程一分钟教你学会(如何提升10倍编程效率)(3)DD,就拧开了敏捷开发的大门。

T编程一分钟教你学会(如何提升10倍编程效率)(4)DD就像脚手架,为代码提供保护网,他的核心在于严格规定开发节奏,一次把需求理清,一次做对、消除返工,不用调试就能获得反馈。

里边有三个关键:

第一步任务分解:测试先行,分离编程一分钟教你学会(如何提升10倍编程效率)(5)关注点,并用单元测试表达;

第二步单元测试:遵循 Given-When-Then 三段式,符合极限编程原则;

第三步小步快走:此处的坑在于很多人容易一下写多,破坏T编程一分钟教你学会(如何提升10倍编程效率)(6)DD节奏。

唯一的不爽,这是一个找虐的过程,他迫使你稳定小步前进,所以每一步都必须先想好要达到什么效果,每一步都有充分的测试覆盖。

但一旦会用,节省出的时间会远大于编写测试代码而产生的工作量总和。

掌握测试驱动开发,解决三个编程一分钟教你学会(如何提升10倍编程效率)(7)老大难问题:

第一,准确把握需求,开发出来的功能一定是客户想要的;

第二,保障软件质量,开发出来的代码一定是有自动化测试覆盖的。

第三,通过反复训练提高开发速度与代码准确率。

6月份我和极客学院合作,训练了200 位开发者,帮他们掌握T编程一分钟教你学会(如何提升10倍编程效率)(8)DD,让自己受益。

他受益的形式可能是别人5天的活,他两天干完,就算公司强制996,他也可以用剩下3天学点新东西,为有一天到大厂、为晋升做准备。

第二期《敏捷开发实战营》将在8月8号上线,我会亲自带队,训练出一支能熟练应用T编程一分钟教你学会(如何提升10倍编程效率)(9)DD的敏捷开发团队,改进工作方式,提高编程基本功。

我想做的事情就是,第一,通过大量反复的线上训练,能让大家看到我们基本功有很大差距。

第二,我会让你们反复、大量训练,练自己不熟悉的内容,并且快速得到反馈,直至能应用到工作。

熊节的敏捷开发实战营

实战营会先让一部分人掌握测试驱动开发的方法,练好基本功、改进工作方式,提高开发效率,成为敏捷开发的第一批受益者。

实战营适用人群:

    具备初级开发基础,无论从事前端还是后端均可,没有语言限制;

    工作1-3年,想获得更高效的编程心法,脱颖而出的新人;

    工作3-5年,想突破技术瓶颈,跳槽一线大厂的进阶程序员;

    技术leader,想整体提高团队效率,完成质的飞跃。

完成实战你将能:

    掌握测试驱动开发的基本节奏;

    用测试用例描述沟通需求;

    编写失败的测试,驱动产品代码;

    精准框定需求范围,实践重构。

8月8日开始,一共3个线上项目,包含12个任务,预计学习时长21天,1年内可以反复观看。

学员绑定极客学院实战营系统,内容以图文、视频、任务形式呈现,我作为导师,全程在编程一分钟教你学会(如何提升10倍编程效率)(10)微信群里答疑指导,监督大家完成高强度训练。

说个细节,实战营里有一个项目叫Args,完成这个项目要多久?一般程序员需要4小时,我们做的最快的同学是27分钟。

这个同学做完以后觉得很了不起,就拿着项目找了公司资深开发,对方一看,说,我估计这个怎么也得2个星期,这个同学当时就震惊了,然后对方又补了一句,澄清需求大概就要1、2天。

第一期学员的训练心得

“最大的收获是学习了T编程一分钟教你学会(如何提升10倍编程效率)(11)DD编程思维,先确立目标再行动,一步步快速迭代,确保质量,还了解到了codingdojo这种编程方式,希望能一直坚持下去,不断提高效率(◔◡◔)”

——小白

“FizzBuzz练了大概15遍左右,最后控制在10min内,重新拆解细分后,敲代码时确实更清晰,体会:子任务的拆解很有用,第一次比较粗粒度,第二次梳理了类关系,还要继续练。”

——Paige

“终于做完最后一题,总结一下收获:

1.编码节奏和思路更清晰了,原来想很久才敢动手,现在5分钟提交一次,有单元测试保证,根本不担心出错。

2.对任务的拆分有了更深刻的理解。很难出现那种动不动几十行并且逻辑很复杂的代码。

3.有了单元测试保证,下一步追求更简洁,可读性更高的代码。

感谢这个训练营,拯救了一个以为会写代码的我,以后会在工作中更多的尝试T编程一分钟教你学会(如何提升10倍编程效率)(12)DD,估计这辈子都离不开它了。

——林泽欢

“熊老师,我要给你生猴子!”

——不知名男学员

学员打卡&作业点评记录

你将和来自各大IT公司的中高层开发者一起成长,成为行业中坚力量。以下是具体项目:

如果不是一对一的编程一分钟教你学会(如何提升10倍编程效率)(13)电话调研,我很难相信第一期的同学里有这么多高手——

百度EBG高级Java工程师 陆羽

极客学院技术总负责人 Kevin

学而思web开发工程师 李坤

小米金融高级前端工程师李志明

华为高级 C 开发工程师 孟广明

飞羽科技有限公司CTO 小白

支付宝编程一分钟教你学会(如何提升10倍编程效率)(14)小程序 高级Python工程师秋叶

阿里巴巴-java工程师 李若舟

拉勾网Python工程师-zhangwl

……

和动辄几百上千的实战营类课程比,实战营定价1编程一分钟教你学会(如何提升10倍编程效率)(15)79元,额外福利:

极客学院T编程一分钟教你学会(如何提升10倍编程效率)(16)DD实战营结业证书;

受用编程一分钟教你学会(如何提升10倍编程效率)(17)终身的测试驱动开发方法;

华为、ThoughtWorks、腾讯、阿里巴巴HR入群互动,优秀学员的内推机会;

反复大量训练 不定期线下技术沙龙。

我经常引用《灌篮高手》安西教练的话:“投2万个球吧。”

完成敏捷开发核心实践、提高基本功、改善工作方式,只有当你参加训练,你才能体会到编程效率提升10倍的感觉,这是飞一般的感觉!

训练营收获

我是码个蛋的发起人陈宇明,我参与了第一期。

经过我14天的练编程一分钟教你学会(如何提升10倍编程效率)(18)结:被虐的很爽。《刻意练习》书中提到过想要快速成长,最佳方案:找到一个经验丰富的教练。熊节老师就是这方面的高手,跟着他学习你绝对能够飞速成长。

第二期【敏捷开发实战营】

日问题:

你接触过T编程一分钟教你学会(如何提升10倍编程效率)(19)DD吗?