首页 > 代码库 > 重新回答构建之法的五个问题

重新回答构建之法的五个问题

问题一:这本书一直在强调合作,我不是很理解这个合作的具体含义,我认为的编程是项目经理安排任务然后每个人只要完成自己的任务就好。所谓的合作我认为的不外乎就是沟通。各种接口对接等等。可能会有会议讨论等等。但是合作是不是就是沟通确实不是很清楚。

答:沟通是信息传递的重要方式,只有通过沟通,信息才能在部门与部门之间、员工与员工之间得以传播。工作的开展在很大程度上来讲,就是通过从上到下的层层沟通采得以进行的。沟通是一个双向的行为,沟通双方一个要善于表达,一个要善于倾听,通过双方沟通、倾听、反馈再沟通、倾听、反馈的循环交流过程,才能明确沟通的主题和问题的解决办法。沟通就是一个互动的过程,沟通的双方只有积极配合,才能使沟通的目的得到实现。-----沟通是合作的前提。

问题二:我承认文档的重要性。但是我认为更重要的还是代码的实现程度,也就是代码的复用性。可能这就是菜鸟级选手和软件工程师的区别吧。

答:当你接到一份基本没有文档的复杂代码,而且别人要求你修改,此时会显示文档是非常重要的。

问题三:对于一般的程序而言,只要客户要求的,或者客户的需求做到就可以了,那为什么还要做各种各样的测试。在我的主观印象里只要做好基于执行的测试就可以,我还是不理解测试的重要性。

答:软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。 第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。 第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

问题四:实际的实践活动中,往往会注重效率也就是时间,所谓的时间就是金钱。我觉得小型的项目根本没有时间来写文档以及测试用例等等。软件工程只是针对大型项目还是所有的项目。如何平衡这种时间或者money和标准之间的关系。

答:所有的项目没有大小之分,只有重要不重要,再小的项目也是需要文档和测试的。 

问题五:工程师在工作过程中,可能发现以前的代码要重构,架构要调整,否则维护起来很费劲,但是工期很赶,赶着上线。此时此刻应该如何度量这两者,或者这两者应该如何取舍。

答:工期从来都是很赶的,只有尽可能的去完成上线的前提下尽力而为的去完成剩下的所有的工作。

重新回答构建之法的五个问题