一片论文瘦八斤,瘦下来的东西,希望交换成了知识存在脑袋里。
论文写完,离下一个项目的开始还有一周的时间,利用这个时间差,读完了借来的题目中的书。就像序里面说的,其实这就是一本关于敏捷的书,只不过说的比较委婉。
刚翻开书的时候,发现里面确实有很多好的编程习惯可以借鉴,读着读着,发现这更是一本将团队高效配合的书。不过我们现在做的东西大多是和导师交流,所以团队高效合作方面的技巧暂时能用上的还比较少,有什么体会也没资格说,不过关于书中的另一个方面,也就是题目中的“习惯”——尤其是编程习惯,还是有一些收获的。这就将书中较好的摘抄下来。
1.对事不对人,敏捷的团队中排在首位的应该是解决问题
当Lee先生在做一个新方案介绍的时候,下面有人会说:“那样很蠢!”(这也暗示着Lee先生也很蠢。)如果把这句话推敲一下,也许会好一点:“那样很蠢,你忘记考虑它要线程安全。”事实上最合适并且最有效的表达方式应该是:“谢谢,Lee先生。但是我想知道,如果两个用户同时登陆会发生什么情况?”
看出其中的不同了吧!下面来看一看对一个明显的错误有哪些常见的反应:
1.否定个人能力。
2.指出明显的缺点,并否认其观点。
3.询问你的队友,并提出你的顾虑。
第三种方法没有谴责,没有评判,只是简单的表达自己的观点。让Lee意识到这个问题,而不是让扫他的面子。由此可以开始一次交谈,而不是争辩。
让我们骄傲的应该是解决了问题,而不是比较谁出的主意更好
如果你没有犯过任何错误,就说明你可能没有努力去工作
开发者和质量工程师(QA)争论某个问题是系统本身的缺陷还是系统增强功能导致的,通常没有多大的意义。一起如此不如赶紧去修复他。
2.欲速则不达,防微杜渐
Andy(本书作者之一)以前的一个客户遇到了一个问题。没有一个开发者或者架构师知道他们业务领域的底层数据模型。而且,通过几年的积累,代码里有着成千上万的+1和-1修正。再这样脏乱的代码中添加新功能或者修复bug,就难逃脱发的的噩运。
不要急于修复一段没能真正理解的代码。这种+1/-1的病症始于无形,但是很快就会让代码一团糟。要解决真正的问题,不要治标不治本。
孤立的编程非常危险,代码复审是发现bug最有效的方法之一。
项目中,代码应该是很亮堂的,不应该有黑暗死角。
3.跟踪变化
4.打破砂锅问到底
5.保持简单
6.记录问题解决日志
1.问题发生的日期2.问题简述3.解决方案详细描述4.引用文章或网址,以提供更多细节或相关信息。5.任何代码片段、设置或对话框的截屏,只要他们是解决方案的一部分,或者可以帮助更深入地理解相关细节。
要将日志保存为可供计算机搜索的格式,就可以进行相关字搜索的格式,就可以进行关键字搜索以快速查找细节了。(怎么做到?javadoc?)
这个文件还可以创建一个Wiki,大家一起来维护。
总结
以上就是书中的内容,大多是原话摘抄,小部分是笔(键)者(人)的评论。
读完了之后,常驻于心的就是:敏捷就是要解决问题,而不是指责别人。抱着这样的话,就有理由相信别人也是这样想的,竟然就提高了自己的交流效率。