随着对《构建之法》的深入的阅读,自己对于软件开发也有了更深的理解。之前一直的认知是编程就是一个人的事,我自己写代码自己最后审查。在读过第四章之后,对于结对有了一定的认知之后。发现自己以前对于软件开发的认知很浅,也是由于没有和别人进行过合作,对于结对和团队没有什么主观上的感受。随着课程的进行和结对以及团队作业的展开,自己对于结对和团队的理解·也肯定会加深。而由于对这些的了解加深,自己对于软件开发的理解肯定会加深,一定。
四:两人合作这一章可以分两个部分,前半部分讲的是代码规范,而后半部分讲的是结对编程。关于前半部分的代码规范实在是没什么好说的,只是有一点我觉得应该思考。在不同的企业,或者说在不同的团队里,对于代码规范也许有着不同的要求,我们应该顺应他们的要求进行改变,而不应该死记书上的代码规范,固步自封。而在第一部分中还有一个很重要的点,代码复 审。关于代码复审书中也提到了很多,我觉得说的很清楚。而代码复审的前提就是复审的人对与程序的了解程度有着很高的要求,也就是说复审的人应当熟悉编写程序的人的编写风格以及代码思想。即是两者之间应当有着一定程度上的互相了解,这也是结对编程的意义之一吧。后半部分的结对编程部分,关于结对编程二者的角色划分,书中是这样说的:
结对编程中有两个角色1. 驾驶员(Driver):控制键盘输入2.领航员(Navigator):起到领航、提醒的作用
这里我有一个疑问:如果领航员的编程思想和驾驶员的编程思想不一样的时候应该听谁的?
这应该不是一件经常发生的事情,毕竟在开始进行正式的编程环节之前,两人肯定对于编程的大体思路有一个统一的规划。所以在编程过程中这种现象的出现往往应该是在较为复杂的部分代码处两人产生了意见上的分歧。在发生这种事的时候不能单靠一个人的决断一意孤行,驾驶员不应该对领航员言听计从。在有分歧的时候需要的是两个人就程序本身进行一场平等的讨论和分析。编程的事情不应当是一言堂。
十七:人,效绩和职业道德
第十七章详细向我们展示了在一个团队中领导和个人的角色应当如何才能扮演好。首先是关于领导,书中说,领导应当具有的不仅仅是管理能力,更重要的是领导力。而领导力才是将一个企业带向成功的关键。而对于企业中的那些个体来讲,新人到有能力的人,最重要的其实是心态。 谦虚,乐观,能坚持的人往往能成为行业的佼佼者。
关于效绩书中举了一个很有意思的例子,用猪、鸡和鹦鹉来代指企业中的人。书中有一句话我觉得并不太妥当:在竞技体育、商业竞争中,鹦鹉可以作拉拉队,但是并不决定最后的胜负。我们可以假设一下,一个项目,两个团队来竞争,两边做出的产品都差不多。到了最后的展示环节,一边是一只鹦鹉以清晰而简洁的话语来描述自家的产品,用作辅助的ppt也很完美。而另一边一只猪或者鸡由于人前演讲经验的不足,说的磕磕绊绊的,甚至很多时候都没有说到重点,而ppt也做得不够好。最后的结果不言而喻,鹦鹉们可能对于项目的0核心代码部分不是很了解,但他肯定知道这个项目的核心功能而且很清楚的知道应当如何提出重点。这是猪和鸡不具备或者说不擅长的领域。一个企业也需要一定的鹦鹉来处理一些对外的事物。还有一个小问题想说一下,关于书中引用的那本《禅与摩托车维修艺术.》据我了解,这是一本跟多探讨西方哲学的书,书中关于摩托车维修的部分应当有所涉及,却不会太多,我觉得用这本书举例子也许不是很恰当。