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