具体描述
“书中‘切身感受’的内容非常有价值——通过它我们可以做到学有所思,思有所悟,悟有所行。”
——Nathaniel T. Schutta,《Ajax基础教程》作者
“此书通过常理和经验,阐述了为什么你应该在项目中使用敏捷方法。最难得的是,这些行之有效的实战经验,竟然从一本书中得到了。”
——Matthew Johnson,软件工程师
十年来,软件行业发生了翻天覆地的变化。敏捷方法大行其道,测试和测试驱动开发在很多开发人员的工作中扮演着重要的角色。作为一名程序员,你应该培养怎样的素质,方能对多变的环境应对自如,始终立于不败之地?
本书简明实用、见解深刻,总结了高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等5个方面积极修炼。通过学习这些内容,养成这些好的习惯,你可以极大地提升自己的编程实力,更快速、更可靠地交付更高质量的软件,从而成为真正的高效程序员。
作者简介
Venkat Subramaniam博士
Agile Developer公司创始人,敏捷开发权威人士。他培训并指导了美国、加拿大、印度和欧洲多国的上千名软件开发人员,并多次在各种大会上发表演讲。他还是.NET Gotchas的作者。可以通过venkats@agiledeveloper.com与他联系。
Andy Hunt
敏捷开发权威人士,敏捷宣言的创始人,Pragmatic Programmers公司创始人。除了本书,他还是多本获奖和备受好评图书的合著者,这些图书包括Programming Ruby、《程序员修炼之道——从小工到专家》、《单元测试之道C#版——使用NUnit 》、《单元测试之道Java版——使用JUnit》、《版本控制之道——使用CVS 》等。
目录信息
第2章 态度决定一切
1. 做事
2. 欲速则不达
3. 对事不对人
4. 排除万难,奋勇前进
第3章 学无止境
5. 跟踪变化
6. 对团队投资
7. 懂得丢弃
8. 打破砂锅问到底
9. 把握开发节奏
第4章 交付用户想要的软件
10. 让客户做决定
11. 让设计指导而不是操纵开发
12. 合理地使用技术
13. 保持可以发布
14. 提早集成,频繁集成
15. 提早实现自动化部署
16. 使用演示获得频繁反馈
17. 使用短迭代,增量发布
18. 固定的价格就意味着背叛承诺
第5章 敏捷反馈
19. 守护天使
20. 先用它再实现它
21. 不同环境,就有不同问题
22. 自动验收测试
23. 度量真实的进度
24. 倾听用户的声音
第6章 敏捷编码
25. 代码要清晰地表达意图
26. 用代码沟通
27. 动态评估取舍
28. 增量式编程
29. 保持简单
30. 编写内聚的代码
31. 告知,不要询问
32. 根据契约进行替换
第7章 敏捷调试
33. 记录问题解决日志
34. 警告就是错误
35. 对问题各个击破
36. 报告所有的异常
37. 提供有用的错误信息
第8章 敏捷协作
38. 定期安排会面时间
39. 架构师必须写代码
40. 实行代码集体所有制
41. 成为指导者
42. 允许大家自己想办法
43. 准备好后再共享代码
44. 做代码复查
45. 及时通报进展与问题
第9章 尾声:走向敏捷
9.1 只要一个新的习惯
9.2 拯救濒临失败的项目
9.3 引入敏捷:管理者指南
9.4 引入敏捷:程序员指南
9.5 结束了吗
附录A 资源
索引
· · · · · · (收起)
读后感
原来时间的流逝不是匀速的,越长大,时间过得越是快,转眼已经工作了好几年。而我想人一到这样的关口,总会开始自觉地审视自身,对之前看到的听说的各种当时觉得飘渺的“大道理”,也有了一些切身的体会,然后生出一种职业危机感。 犹记得高中的班主任经常对我们说:“居安思危...
态度决定一切 (1)做事,把矛头对准问题的解决办法,而不是人,这是真正有用处的正面效应 (2)欲速则不达,要投入时间和精力保持代码的整洁、敞亮 (3)对事不对人,让我们骄傲的应该是解决了问题,而不是比较出谁的主意更好 (4)排除万难,奋勇前进,要诚实有勇气...
敏捷开发貌似已经不是什么新话题了~ 个人单枪匹马就能建立一个帝国的英雄时代已经过去, 现在最流行的一句话是 together, we achieve。 这本书是其中很平凡的一本。 我手头上关于软件工程 软件过程啥的还有类似 agile software construction, 人月神话, 软件工程...
这本书本身写的是程序员,但是我觉得做项目管理的都应该看看。做程序是一种项目管理,而且是一种更先进、更高级的项目管理,从中提取出来的精华和经验完全可以广泛的应用的各种项目管理里面。 就我个人而言,以下几个方面受益颇大: * 团队合作 看这本书的时候,恰好是我自己独...
用户评价
我只能说,这本书简直是为那些渴望突破瓶颈、实现自我跃升的程序员们量身打造的“修炼秘籍”!《高效程序员的45个习惯》这本书,让我彻底摆脱了过去那种“埋头苦干但效率不高”的状态。作者以一种非常系统性的方式,将“高效”这个概念细化成了45个切实可行的习惯,让我知道从哪里着手,以及如何一步步地去实现。 我一直以来都觉得,自己的代码写得“还行”,但总感觉不够“优雅”,不够“简洁”。书中关于“代码风格”和“设计模式”的阐述,让我明白了什么才是真正的高质量代码。它不仅仅是能够运行,更重要的是它是否易于阅读、易于理解、易于扩展。作者通过生动的例子,让我看到了清晰的代码结构和合理的命名规范,能够给整个项目带来多大的好处。 还有一个我特别欣赏的部分,是关于“项目管理”和“风险规避”的讨论。我之前总是把项目管理看作是项目经理的事情,觉得自己只要写好代码就行了。但作者却指出,每一个开发者都应该具备一定的项目管理意识,要能够识别项目中的风险,并主动采取措施去规避。这让我意识到,一个负责任的开发者,不仅仅是代码的生产者,更是项目的守护者。 我也从书中学习到了很多关于“时间管理”和“精力管理”的技巧。我以前总是觉得时间不够用,经常被各种事情打断。作者分享了一些非常实用的方法,比如如何设定优先级,如何避免不必要的会议,如何有效地利用碎片时间。现在我感觉自己的工作节奏更加明晰了,也更能集中精力去做最重要的事情。 这本书带来的,是一种“体系化”的思考方式。它不仅仅是教你一些零散的技巧,而是构建了一个完整的框架,帮助你理解“高效”的本质,并让你能够持续地去践行。我感觉自己就像得到了一个“升级包”,能够以一种全新的视角去看待编程,看待职业发展。
我只能说,《高效程序员的45个习惯》这本书,彻底颠覆了我之前对“程序员”这个职业的一些刻板印象。一直以来,我总觉得程序员就是一群埋头苦干、与代码为伴的“技术宅”,仿佛除了写代码,其他事情都与我们无关。但这本书让我看到了一个完全不同的图景:一个高效的程序员,不仅要有扎实的技术功底,更要具备良好的沟通能力、项目管理意识、时间规划能力,甚至还有一些“软技能”。 我之前特别头疼的就是“沟通”问题。总觉得程序员跟产品经理、测试人员之间的沟通总是不顺畅,容易产生误解。作者在书中花了很大的篇幅来探讨“沟通的艺术”,他分享了很多非常实用的技巧,比如如何清晰地表达自己的技术想法,如何理解别人的需求,以及如何在团队中建立有效的沟通机制。读完之后,我感觉自己就像打通了任督二脉一样,对如何与人协作有了全新的认识。 还有一个让我印象深刻的地方是关于“工作与生活平衡”的探讨。我一直以为程序员就是要牺牲个人生活,全心全意扑在工作上。但作者却强调,一个真正高效的程序员,恰恰需要有良好的生活节奏,需要有时间去休息、去放松、去发展自己的兴趣爱好。他认为,只有身心健康,才能有持续的创造力和高效率。这让我开始重新审视自己的生活方式,并努力去寻找工作与生活的平衡点。 书中还有一些关于“自我驱动”和“职业规划”的讨论,也让我受益匪浅。作者鼓励我们要有清晰的职业目标,并为之不断努力。他分享了一些如何制定个人发展计划,如何保持学习动力的方法。这让我感觉到,程序员的职业生涯不仅仅是写代码,更是一场持续的自我成长和探索。 这本书给我带来的,是一种 holistic(整体性)的视野。它让我意识到,成为一名卓越的程序员,需要从多个维度去提升自己,而不是仅仅局限于技术本身。它为我打开了一扇新的大门,让我看到了一个更广阔、更精彩的“程序员”世界。
怎么说呢,这本书让我对自己作为一个开发者有了全新的认知。《高效程序员的45个习惯》这本书,与其说是一本教你写代码技巧的书,不如说是一本关于如何成为一个更聪明、更有效率的“开发者”的书。作者的视角非常独特,他没有纠结于具体的编程语言或者框架,而是从更本质的层面,探讨了开发者在整个软件生命周期中需要具备的优秀素质和行为模式。 我印象特别深刻的是书中关于“持续学习”和“知识管理”的章节。我之前总觉得技术更新换代太快,学不过来,也很少有意识地去整理和归纳学到的知识。作者提醒我们,学习不是一蹴而就的,而是需要策略的。他分享了一些高效的学习方法,比如如何找到高质量的学习资源,如何将碎片化的知识体系化,以及如何通过分享和输出来巩固学习成果。这让我意识到,保持好奇心和求知欲固然重要,但如何高效地学习和管理知识,更是决定我们成长速度的关键。 另外,书中关于“代码质量”和“可维护性”的讨论,也让我幡然醒悟。我以前总以为代码能跑就行,至于写得是否清晰、是否容易理解,并没有太在意。但作者通过大量的案例,说明了低质量的代码会像“雪球”一样越滚越大,最终成为项目发展的巨大阻碍。他鼓励我们要有“主人翁意识”,不仅要写出能工作的代码,更要写出高质量、易于维护的代码。这让我开始重新审视自己的代码风格,并尝试将其做得更好。 我尤其赞赏书中关于“寻求反馈”和“接受批评”的部分。我以前总有些“玻璃心”,不太愿意别人指出自己代码的不足。作者却告诉我们,开放的心态和乐于接受反馈,是快速成长的必经之路。他分享了如何有效地收集和消化反馈,以及如何将其转化为改进的动力。这让我明白,批评并不可怕,可怕的是拒绝成长。 总而言之,这本书给我带来的不仅仅是技能上的提升,更是思维方式的转变。我感觉自己不再是被动地写代码,而是主动地去思考,去设计,去优化。它让我看到了一个更广阔的“开发者”的舞台,也让我对未来的职业发展充满了信心。
这本书真是让我大开眼界!之前我总以为写代码是个纯粹的技术活,拼的就是代码量和算法的精妙。但读完《高效程序员的45个习惯》,我才意识到,原来编程的效率和质量,很大程度上取决于日常的习惯和思维方式。作者的观点非常有启发性,他没有直接告诉你“怎么写出更快的代码”,而是从更宏观的角度,比如项目管理、团队协作、自我提升等方面,来剖析什么才是“高效”。 比如,书中提到的一些关于“沟通”的习惯,我以前觉得和写代码关系不大,但仔细想想,很多项目延误、bug频出,根源都在于信息不对称或者沟通不到位。作者举了很多生动的例子,说明了如何清晰地表达自己的想法,如何有效地听取别人的意见,以及如何在团队中建立信任。这让我意识到,一个“高效”的程序员,不仅仅是个技术上的能手,更是一个出色的沟通者和协作者。 我还特别喜欢书中关于“学习”和“反思”的章节。以前我总是埋头苦学,学了新的技术就立刻上手,很少停下来思考“为什么学”,或者“学到的东西是否真的适合我”。作者鼓励我们要有意识地去学习,有目的地去实践,并且在实践后进行深入的反思,总结经验教训。这种“刻意练习”和“复盘”的习惯,真的能够帮助我们快速成长,避免重复犯错。 另外,书中还有一些关于“工作流程”和“时间管理”的技巧,虽然听起来很基础,但却至关重要。比如,如何合理地规划一天的工作,如何避免被琐事打断,如何有效地利用碎片时间等等。这些习惯的养成,不仅能提升我们的工作效率,还能让我们在工作之余有更多的时间去陪伴家人、发展爱好,实现工作与生活的平衡。总而言之,这本书给我带来的不仅仅是编程技巧的提升,更是一种全新的工作和生活理念。 这本书给我最大的感受是,它不是一本“速成宝典”,而是提供了一套系统性的、可执行的方法论,帮助开发者构建可持续的、高效的工作模式。作者的文字朴实而不失深度,既有理论的高度,又有实践的温度。他没有夸大其词,也没有灌输教条,而是用一种循循善诱的方式,引导读者去思考,去尝试,去内化这些习惯。 我尤其欣赏书中对于“自动化”和“工具利用”的强调。很多时候,我们重复地做着一些繁琐、耗时的工作,却不自知。作者提醒我们,要时刻关注是否有可以自动化处理的流程,是否能通过更聪明的工具来替代低效的手工操作。这不仅能节省大量的时间,还能减少人为错误的发生,让我们的精力更集中在更有价值的创造性工作上。 书中关于“代码可读性”和“重构”的讨论,也让我受益匪浅。我以前总觉得能跑就行,代码写得“懂”就行。但作者却告诉我们,一个真正高效的程序员,会写出易于理解、易于维护的代码。这不仅是对团队负责,也是对自己负责。通过持续的重构,让代码保持健康的状态,能够极大地降低后期的维护成本,避免“技术债”的积累。 此外,书中关于“测试”的重要性,也得到了充分的阐述。我以前对编写测试有些抵触,觉得耽误时间。但作者通过大量的实例,证明了良好的测试能够帮助我们更早地发现bug,更自信地进行代码修改,甚至能够指导我们的代码设计。这种“预防为主”的思维方式,对于构建稳定、可靠的软件系统至关重要。 这本书的价值在于,它把“高效”这个概念拆解成了45个具体的、可操作的习惯,让原本模糊的目标变得清晰可见。我感觉自己不再是那个盲目努力却效率低下的开发者,而是有了一个明确的成长路径。读完这本书,我开始有意识地去审视自己的工作习惯,并尝试将书中的一些建议融入到日常的开发流程中。
这本书简直是程序员的“人生指南”!我一直以为写代码就得“熬夜拼命”,但读了《高效程序员的45个习惯》之后,我才明白,真正的“高效”不是靠体力,而是靠脑力,靠科学的方法,靠良好的习惯。作者的观点非常接地气,他没有讲什么高深的理论,而是从我们日常工作中遇到的具体问题出发,给出了切实可行的解决方案。 我特别受启发的是书中关于“规划”和“优先级”的部分。我以前总是想到什么就做什么,经常被各种突发事件打断,一天下来忙忙碌碌,但感觉什么都没做成。作者教我如何区分任务的轻重缓急,如何合理地安排每天的工作,如何有效地应对干扰。现在我感觉自己的工作更有条理了,也更不容易焦虑了。 还有关于“复盘”的章节,简直是为我量身定做的!我以前总是在犯了错误之后就翻篇了,很少去思考为什么会犯错,下次如何避免。作者鼓励我们要养成定期反思的习惯,从成功和失败中学习,不断优化自己的工作方法。这让我感觉自己每一步都在进步,而不是原地踏步。 我还可以告诉你,书中关于“工具利用”的建议也太实用了!很多时候,我们都在用低效的方式处理一些本可以被工具解决的问题。作者列举了很多好用的工具和技巧,能够极大地提升我们的工作效率。我感觉自己以前就像个“老古董”,还在用原始的方法做事。 总而言之,这本书不仅仅是写给程序员看的,任何希望提升工作效率、优化工作流程的人,都可以从中获益。它带来的改变是潜移默化的,但却是深远的。
经过实践,一定程度上反对此书
很多想法不仅仅限于软件设计,有很多关于管理的思路。
#豆瓣阅读# 部分东西有用吧。。。> <但是好像太针对Java或者面向对象了
看了也没啥用
infoq 精选版