问题1:本书第四章讲的是“两人合作”,在该章节中讲述了代码规范,代码复审,两人合作的技巧等......但没有涉及到一个问题,让我很疑虑,在一个开发团队中,每个人编写代码的水平各不相同,那么,如何在团队中合理分配每人的任务?使每个人都能在团队中出色的表现,从中受益,提高水平。
问题2:在第11章231页,有下面这样一段话 “写好代码后,小飞对照设计文档和代码指南进行自我复审,重构代码。” 对于“代码重构”不是很清楚。
我查了一些资料,重构就是通过调整程序代码,但并不改变程序的功能特征,达到改善软件的质量、性能,使程序的设计模式和架构更趋合理,更容易被理解,提高软件的扩展性和维护性。资料中都在强调重构的好处,而重构在“软件系统的过程, 它不会改变代码的外部行为, 同时改善其内部结构。 这是一种严格的清理代码的方法, 它可以最大限度地减少引入错误的可能性。 本质上, 当重构代码时, 是在编写代码之后改进它的设计”。
但是我对于具体的情况依然不是很理解,重构是对于旧的架构进行修改,来满足新的需求,那如果要大面积的修改,采取重构有效还是重写有效? 何时应该进行重构呢?
问题3:在通读到本书的最后时,老师留了一个问题:“软件工程师在企业中是劳动密集型的工人,还是有独创性的专业人士?他们对软件企业的成败负有多大的责任?”
通过查阅资料,我的理解是这样的:软件工程师在企业中不应该是劳动密集型的工人,而应该是有独创性的专业人士。但是在中国的诸多企业中,包括外企,往往都是专业人士带领着一 群劳动密集型的工人在工作,普通的程序员再聪明,也没有能力在大方向上改变公司的决策。软件工程师与软件企业的成败息息相关,但对软件企业成败负多大的责任,却是要多方面考虑的问题。软件企业的失败是有多方面原因的造成的,比如经营模式、领导层的原因,员工的原因。他们所要负责的只是其中一部分。因此软件企业的成败不应该由软件工程师来负主要责任,如果要把这个责任强加到软件工程师身上,那么至少也要给软件工程师同等的发声权利。