高效程序员的45个习惯——敏捷开发修炼之道
文章平均质量分 57
樱木的追风者
建立输出型思维模式!
展开
-
第八章_敏捷协作_45 及时通报进展与问题
45 及时通报进展与问题1. 问题是什么如何和团队,管理层沟通工作进度,工作上遇到的问题?2. 恶魔的方案管理层、项目团队以及业务所有方,都仰仗你来完成任务。如果他们想知道进展状况,会主导找你要的。还是埋头继续做事吧。3. 天使的方案发布进展情况、新的想法和目前正在关注的的主题。不要等着别人来问项目状态如何。接受一个任务,也就意味着做出了要准时交付的承诺。遇到各种问题,从而导致延迟,截止日期来临,大家都等着你汇报工作进度,此时通知大家你的工作没有完成,大家会怎么想,会不会影响你得事业发展?原创 2021-08-14 17:53:20 · 156 阅读 · 0 评论 -
第八章_敏捷协作_44 做代码复查
44 做代码复查1. 问题是什么?代码完成开发之后,要不要复查?2. 恶魔的方案用户是最好的测试人员。别担心——如果哪里出错了,他们会告诉我们的。3. 天使的方案复查所有的代码。劣势管理层担心进行代码复查所耗费的时间开发人员对代码复查感到担心,允许别人看他们的代码,会让他们有受威胁的感觉。这影响了他们的自尊心。他们担心在情感上受到打击代码复查或许是找到并解决问题的最佳方式。优势通过严格的代码复查过程,他们可以提交质量极高而且稳定的代码时机当开发人员完成某项任务的编码和测试后,原创 2021-08-14 17:51:24 · 112 阅读 · 0 评论 -
第八章_敏捷协作_43 准备好后再共享代码
43 准备好后再共享代码1. 问题是什么有没有比不使用版本控制系统更坏的事情呢?那就是错误的使用版本管理系统。比如:代码提交频率这种问题,都会影响到生产力,产品稳定性、产品质量和开发日程。2. 恶魔的方案别管是不是达到代码签入的要求,要尽可能频繁的提交代码,特别是要下班的时候。提交仍在开发的代码3. 天使的方案准备好后再共享代码。绝不要提交尚未完成的代码。故意签入编译未通过或是没有通过单元测试的代码,对项目来说,应被视作玩忽职守的犯罪行为。立即提交每周,或者每月提交一次通常情况原创 2021-08-14 17:47:44 · 101 阅读 · 0 评论 -
第八章_敏捷协作_42 允许大家自己想办法
42 允许大家自己想办法1. 问题是什么?指导者到底应该指导什么?是答案,还是解决问题的思路?授人以鱼不如授人以渔 ?授人以鱼,三餐之需;授人以渔,终生之用。2. 恶魔的方案你这么聪明,直接把干净利落的解决方案告诉团队其他人就好了。不用浪费时间告诉他们为什么这样做。3. 天使的方案给别人解决问题的机会。 指给他们正确的方向,而不是直接提供解决方案。每个人都能从中学到不少东西。好处帮助他们学会如何解决问题除了答案,还可以学到更多东西他们以后可以独立解决此类的问题帮助别人在你不能回答原创 2021-08-14 17:45:49 · 93 阅读 · 0 评论 -
第八章_敏捷协作_41 成为指导者
41 成为指导者1. 问题是什么我们有时会发现在某些方面,比其他团队成员知道得更多。如何对待自己这种新发现的权威地位呢?2. 恶魔的方案你花费了大量的时间和精力,才能达到目前的水平。对别人要有所保留,这样才能让你看起来更有水平。让队友对你超群的技能感到恐惧吧。*3. 天使的方案Knowledge grows when given 教学相长成为指导者。分享自己的知识很有趣——付出的同时便有收获。还可以激励别人获得更好的结果,而且提升了整个团队的实力。知识的特性假设你给别人钱的话,最后原创 2021-08-14 17:44:34 · 146 阅读 · 0 评论 -
第八章_敏捷协作_40 实行集体代码所有制
40 实行集体代码所有制1. 问题是什么任何具备一定规模的应用,都需要多人进行开发协作。如果某一段代码,只有一个人能够处理,出了问题,碰巧他不在,怎么办?开发团队中,工程师只负责自己的一亩三分地儿吗?2. 恶魔的方案不用担心那个烦人的bug,Joe下周假期结束回来后会把它解决掉的。在此之前先想个权益之计应付一下吧。如果一份代码只有一位成员能够处理,项目的风险无形中也增加了。3. 天使的方案要强调代码的集体所有制。让开发人员轮换完成系统不同领域中不同模块的不同任务相对找出谁的主意最好,谁的原创 2021-08-14 17:42:41 · 144 阅读 · 0 评论 -
第八章_敏捷协作_39 架构师必须写代码
39 架构师必须写代码1. 问题是什么?我们的系统需要一个什么样的架构师,需要一个什么样的设计方案?2. 恶魔的方案我们的专家级架构师Fred会提供设计好的架构,供你编写代码。他经验丰富,拿的薪水很高,所以不要用一些愚蠢的问题或者实现上的难点来浪费他的时间。优点是什么?架构师工作量小,脱产,工作舒服缺点是什么?不可能再PowerPoint 幻灯片上进行编程作为架构师,不应该只是画一些看起来很漂亮的设计图,说一些像“黑话”一样的词汇,使用一大堆设计模式——这样的设计通常是不会原创 2021-08-14 12:18:52 · 119 阅读 · 0 评论 -
第八章_敏捷协作_38 定期安排会面习惯
38 定期安排会面习惯1. 问题是什么团队合作中,如何沟通?其他人在做什么?如何了解团队成员的工作进度?如何了解团队成员遇到的问题?如何互相帮助?等等。。2. 恶魔的方案“会议安排得越多越好。实际上,我们要安排更多的会议,直到发现为什么工作总是完不成。”3. 天使的方案立会可以让团队达成共识。保证会议短小精悍不跑题。站会:为什么要站着?坐着太舒服,不知不觉就会花掉很长时间。内容:昨天有什么收获?今天计划要做哪些工作 ?面临着哪些障碍 ?不宜讨论细节时间要求:原创 2021-08-12 21:41:59 · 119 阅读 · 0 评论 -
第九章 尾声 走向敏捷
一灯能除千年暗,一智能灭万年愚。 —— 慧能无论经验是否丰富,不管过去有什么样的成功,遇到过什么样的挑战,只要进行一个新的实践,就可以让人头脑清醒,并让你的工作与生活从此发生改变。使用这些实践的子集,能够救濒临失败的项目于水火,也可以使得从此往后的项目变得完全不同。1. 只要一个新的习惯1.1 问题是什么?软件发布总在延期Bug不断增加,失去控制1.2 发现问题的过程活动:访谈主题:了解程序员的工作是怎么展开的,有哪些进展顺利,哪些构成了障碍参加人员:Andy和注重实效的程序员们原创 2021-08-09 21:24:37 · 88 阅读 · 0 评论 -
第七章_敏捷调试_34 警告就是错误
1. 问题是什么?当程序中出现一个编译错误时,编译器或是构建工具会拒绝产生可执行文件。工程师别无选择——必须要修正错误,才能继续前行。可是,代码编译的时候,出现的警告怎么办 ?警告是另外一种情况,我们还可以继续运行程序。那么忽略警告信息,会导致什么状况呢?这样做等于是坐在一个嘀嗒作响的定时炸弹上,而且它很有可能在最糟糕的时候发生爆炸。有些警告可能是过于挑剔的编译器的良性副产品。可是,有些并不是。2. 恶魔的方案编译器的警告信息只不过是给过分小心和过于书呆子气的人看的。它们只是警告而已。如果导致的原创 2021-08-06 20:38:01 · 139 阅读 · 0 评论 -
第七章_敏捷调试_33 记录解决问题的日志
问题是什么?面对问题(并解决它们)是开发人员的一种生活方式。当问题发生时,我们希望赶紧把它解决掉。太阳下面无新鲜事,如果一个熟悉的问题再次发生了,怎么办?我们希望记起第一次是如何解决的,而且希望下次能够更快的把它搞定。然而,有时一个问题看起来跟以前遇到的完全一样,但是我们却不记得是如何修复的了。夫子曰:上面的情况是不是经常发生?恶魔的方案在开发过程中是不是经常遇到似曾相识的问题?这没关系。以前解决过的问题,现在还是可以解决掉的。夫子曰:这是恶魔一般的方案,我们已经有过一次解决这个问题的经历,还原创 2021-08-06 20:04:18 · 330 阅读 · 0 评论 -
第七章_敏捷调试_36 报告所有的异常
36 报告所有的异常1. 问题是什么?从事任何编程工作,都需要考虑在正常情况下,软件要做什么?不过更应该想一想,当出现问题——也就是事情没有按计划进行时,会发生什么?夫子曰:敏捷调试的基础是什么?换言之,我们在分离出问题之后,下一步时干什么?收集问题发生时的信息,问题发生时,被调用接口反馈的异常信息,就是一个很好的信息收集途径。这也要求我们在设计接口时,一定要定义恰当的异常返回值。2. 恶魔的主意不要让程序的调用者看到那些奇怪的异常。处理它们是你的责任。把你调用的一切都包起来,然后发送自己定义的原创 2021-08-03 20:53:11 · 101 阅读 · 0 评论 -
第七章_敏捷调试_37 提供有用的错误信息
37 提供有用的错误信息1. 问题是什么?本章节中描述的内容是什么呢?夫子曰:继 36 报告所有的异常 之后,如何报告异常,报告异常时,要提供些什么信息呢?本问着眼点即在于此,同时,报告异常时,也要根据发生异常的用户,报告不同的内容。如用户操作触发的异常,报告些什么呢?软件程序本身执行的异常,应该向开发人员报告些什么呢?软件运行环境触发的异常,向运维人员,或者开发人员报告些什么呢?2. 恶魔的方案不要吓着用户,吓程序员也不行。要提供给他们干净整洁的错误信息。要使用如下这样让人舒服的词句:‘用户错原创 2021-08-03 20:51:36 · 137 阅读 · 0 评论 -
《高效程序员的45个习惯——敏捷开发修炼之道》读书笔记&感悟
概述可以输出的才是自己的!本专栏为最近阅读经典书籍《高效程序员的45个习惯——敏捷开发修炼之道》的读书笔记,书已读大半,有种相见恨晚的感觉!尤其是改观了自己对于单元测试的认识。持续更新中,欢迎各位朋友交流与分享。日志2021/8/2,更新 第七章 习惯[35 对问题各个击破]读书笔记7 敏捷调试无论是敏捷的设计,还是敏捷的编码,都不能保证你的软件没有bug。如果有这个保证,估计也是痴人说梦。软件出了bug怎么办?还能怎么办?盘它开始debug啊,复现问题,分析问题产生原因,找到问题产生所原创 2021-08-02 21:00:57 · 297 阅读 · 0 评论 -
第七章_敏捷调试_35 对问题各个击破
35 对问题各个击破1. 问题是什么?软件发布后,测试或运行过程中,出现了bug,如何解决这个bug ?2. 最笨的方法“逐行检查代码库中的代码确实很令人空间。但是要调试一个明显的错误,只有去查看整个系统的代码,而且要全部过一遍。毕竟你不知道问题可能发生在什么地方,这样做是找到它的唯一方式。”这个办法是书中此章”恶魔天使“所说的办法,它确实是个办法,不过对于软件工程师来说,确实是一个魔鬼,意味着我要分析,调试整个系统的数据流,控制流,以找到问题发生的根本原因。这个过程花费的精力,时间将是一个什么级原创 2021-08-02 20:42:40 · 173 阅读 · 0 评论