101与金根回顾敏捷个人:(94)每个程序员应该知道的12件事情
本文更新版本已挪至 http://www.zhoujingen.cn/blog/2039.html
---------------------
敏捷个人针对的是每个希望进行自我管理的人,在敏捷个人最新电子版敏捷个人-认识自我,管理自我 v0.2集成了我之前的大部分内容,那么针对与每个程序员,我们应该知道的有哪些呢? 本篇分享一下我们程序员应该知道的12件事情。
- 充满激情
- 喜欢正在做的事情:这也是在如何招到聪明又能做事的人讲到的要有技术热情,你有热情才会喜欢你的技术
- 有创造力的:创造力体现在你会创新,创新一方面可以来自你的全新创造,也可以来自于他人基础之上,敏捷个人 - 我是这么理解方法论的中我对方法论的态度就是:不排斥、不迷恋,积极尝试,为我所用。
- 想做得最好:内在驱动力,追求卓越的一种价值观
- 比昨天更好:我们很多人其实都希望每天都能感觉到进步,我以前每天都要看书,因为每次看书学到新知识之后我就会感觉有点进步,虽然很小,但是这一直让我觉得很好
- 喜欢你的代码
- 为自己和他人写代码,而差劲的程序员为机器写代码:如果连自己都看不懂的代码就根本不能维护,如果别人看不懂的代码,那就不能交流,而只为机器写代码,那只有一种可能,那你也是机器
- 每个程序员喜欢与干净的代码在一起:很些程序员有代码洁癖,看到不符合代码规范、或写的不好的就会强迫自己去修改,即使没有这么强烈的要求,也会表现出对不干净代码的反感
- 版本管理
- 备份你的代码:现在已经没有人不对自己的代码进行版本管理了
- 追溯更改(who、when、what):从log可以清楚知道谁在什么时候改了什么,这在有时候需要查看历史信息时很重要
- 并行工作:每个人都可以做自己的工作,做好后集成就好了
- 经常提交:一般我们完成一项工作,并通过单元测试后就会提交代码,这是一个好习惯
- 构建失败时不提交:在提交之前编译一下、跑一下单元测试,有问题就不要提交,否则影响整个项目
- 读代码
- 在成为好的写代码的人之前,要学会成为一个好的读代码的人:有人问我如何学习,我就会推荐他们去读一些好代码
- 程序员的工作时间,70%读代码,30%写代码:每天程序员也就写个一两百行代码,大部分时间都在思考和看代码了
- 练习、练习、再练习
- 针对独立的问题进行小练习:把大问题拆成可以独立解决的小问题,针对小问题单独做一些小练习,逐个击破
- 在工作之外的项目中练习:每个人都希望工作都能让自己每天进步,但有时环境并不会这么理想,你可能在做维护项目,或者你做的内容更像例行公事,那么你可以在工作之外的项目进行练习,能结合将来工作需要去练习则是更理想的路径
- 在没有压力尽自己所能去做:适当压力是动力,但是千万不要给自己太大的压力,在压力承受范围内尽力去练习可以获得较好的结果
- 练习成为专家:不断练习,1万个小时之后你就是专家
- 重构
- 在不改变系统行为下改善代码的质量:重构的前提
- 使代码变得容易理解、维护和扩展:重构的目的
- 每次签入时是都比签出时更干净:重构的目标
- 小方法、组合方法......:重构的技术
- 遵守模式和最佳实践
- TDD/BDD
- 是一个设计流程
- 只写足够的代码通过测试
- 自动化
- 使手工任务自动化
- 命令行是你的朋友
- 持续集成
- 自动部署
- 明白你的领域
- 特定的领域不会马上过时,而技术会:企业架构框架-TOGAF.pdf 业务分析与需求.pdf
- 你只有明白它是如何工作的才能够实现好
- 持续学习
- 你需要不断地学习,保持竞争力:个人管理 - 学习=知识+实践+思考+心态
- 做最差的人:如果你现在是团队最差的人,那么你的进步将是最大的,因为你可以学的是最多的。我是不是也该去找一个让自己觉得很菜的团队呢!?
- 读书、blog、网站:订阅我的blog吧zhoujg.cnblogs.com
- 善用好工具:工欲善其事必先利其器,好的工作会让自己效率倍增
- 善于沟通
- 教或者说是学习最好的方式之一:这个我觉得大家都应该去尝试一下,从我个人经验来看,教和说真的可以让自己学习更有效
- 加入一个研究或学习小组:加入敏捷个人社区吧 敏捷个人-认识自我,管理自我 v0.2
- 加入开源社区:学习和应用OpenExpressApp吧 开源信息系统开发平台之OpenExpressApp框架.pdf
你还觉得有哪些应该知道的吗?欢迎补充!
参考: http://www.slideshare.net/samnang.chhun/12-things-every-programmer-should-know