敏捷方法

"I'm not a great programmer; I'm just a good programmer with great habits"
                                                                                ------Kent Beck

软件开发不只是敲键盘!

我始终坚信,软件开发是一项伟大的、创造性的劳动,它应该是一件充满乐趣的事,同时给我们带来成就感和体面的收入;
程序员应该是一群快乐的家伙,每天享受着自己喜欢的工作,有足够的时间去打球、跟哥们儿喝啤酒、陪女朋友看电影。

一项新技术推行,最大的阻力莫过于程序员自身了。

这是很多程序员所走过的弯路:他们每天面对着缺少测试的代码和不停的制造各种代码,他们都被傻瓜式相机给惯坏了,于是乎他们开始消极、焦虑、易怒、神经质。。。。

消极:不愿意修改bug,不愿意改代码以满足用户新提出的需求 
焦虑:担心刚刚修改的代码会破坏已有功能,对下一个版本能否正常工作毫无信心
易怒:经常对测试发火,私下里诅咒客户,抱怨别人弄坏了自己的程序 
神经质:系统偶尔出现奇怪行为就胡乱猜测,改了不该改的地方导致更多奇怪现象出现

敏捷方法强调测试,测试驱动开发,拥抱变化,于是:

勇气:单元测试是自动化的回归测试,她让我对自己的代码充满自信,每一个测试就像攀岩者钉在峭壁上的一个楔子,没有了程序衰退的担心,于是我可以大胆的重构、积极的拥抱变化; 
快速反馈:每写一段代码,我都可以在几秒钟之内看到他的运行效果,免去了打包、部署、重起server以及在一堆日志里找结果的工作,开发的效率极大提高; 
测试驱动设计:通过编写测试可以准确的理解需求、发现问题、发现接口,在不知不觉间做出最合理的设计; 
文档:测试是最好的详细设计文档,不会过时、可运行。 

你可能感兴趣的:(工作,制造,敏捷开发,软件测试,单元测试)