waitu在blog上提出了几个问题,有许多朋友回答了,包括我。我认为他的问题挺有代表性的,大部分人都会遇到,所以在这里我再一次贴了我的回答。这只是我的个人观点。 不知其他朋友对这些问题如何看待? 这是他的贴子:http://www.cnblogs.com/waitu/archive/2005/02/01/100214.html

   1  软件工程就意味着无休止的会议吗?怎么样才能更好的将任务布置给每一个人,保证进度,并且在其遇到难题的时候能够更好的沟通呢?
    2  在开发中间[我说的是WEB开发],页面显示的修改在总的工作量上所站的比例是多少呢?
    3  程序代码的注释要详细到什么程度呢?
    4  作为开发小组的负责人,你与你的成员如何沟通呢?
    5  任务的完成情况是如何检查的呢?做到什么程度才算任务完成了呢?
鄙人初入WEB开发的门墙,但是感觉还没有摸着门道,以上问题均是有感而发,希请诸君不吝赐教!!



1 软件工程就意味着无休止的会议吗?怎么样才能更好的将任务布置给每一个人,保证进度,并且在其遇到难题的时候能够更好的沟通呢?

答:
>> 软件工程不意味着无休止的会议,但会议还是要开的,假如你是Leader 的话,分配任任务时,整个系统的功能应该在以前的会议上分析了,此时,你只要单独跟任务相关人员做一个说明,确定一些细节就行了。 当然,如果你有详细的文档、原型图等等,你不必跟相关人员面谈。我的经验是一般情况下面谈比较现实.遇到困难的时候,当然是找Leader了,如果做为Leader的你感觉这种方式让你很痛苦,那就表示你做了许多不该做的工作。你不应该做太细节的工作。有充分的时间帮助团队分析并解决(可能是分配给其他人员实施)问题。 

 在开发中间[我说的是WEB开发],页面显示的修改在总的工作量上所站的比例是多少呢?

答:
>> 在Web开发过程中,排除之前的分析和设计时间,页面的开发占80%, 这期间: 新面页占页面开发时间的60%,修改占40%,当然,这是我的经验,只是个例.

3 程序代码的注释要详细到什么程度呢?

答:
>> 这个问题很难回答,正如楼上所说的,详细到别人能基本通过注释的帮助,很容易看懂你代码的意图。代码写的越好,注释就可以越少。 我个人认为,不必要太详细,在一个页面上描写了本页面的基本功能和大概的实现算法,每个方法做个简单的描述。一段复杂的代码做一些算法描述.
请楼主注意代码的注释描述方式!同样的注释,有些一看就明白,有些看了也不明白。举个简单的例子:

假如有一个值班模块,要获取一个值班日志对像,进行接班。在代码里可能有: 
   
   if(OnDutyLog==null
       
return

有些人会注释:   检查空值
但有些人会注释: 无法取到值班日志,不能接班

两种注释都描写了代码的操作,第一种更普通的泛泛描述。只是说了代码要做的。 但第二种则直接说出了他要做的和为什么要这样做。 一句话:通过第二种注释,其他开发人员一眼就知道这两行代码的做用,并且知道作者为什么要这样写!

4 作为开发小组的负责人,你与你的成员如何沟通呢?

答:
>> 如果是项目的沟通,则通过集体开会和单独交流(面谈)

5 任务的完成情况是如何检查的呢?做到什么程度才算任务完成了呢?

答:
>>首先检查做出来的模块是不是实现你分配给他的任务,对于Web开发举个例子: 首先看需要的页面是否都有,所以功能操作是否可以如预期的一样顺利执行。如果可以,就算基本完成。然后再看有没有发现明显的bug,如果没有,就算完成了。如果你的团队很大,这些应该是给测试人员做,反之,则是Leader做了。Leader验收完毕(顺便浏览一下此功能的代码) 然后就可以认为是完成了,再交给测试人员测试。 

        另外:楼主可以采用 bug管理软件来记录变更、分配置任务。 其实在开发初期分配任务、协调都不会出太多问题。问题主要分出现在迭代过程中: 你的项目收到的反馈或测试报告回来后,需要开发人员处理,在处理的同时,可能又有新的反馈,这些反馈可能涉及上一次反馈的问题,可能是正在根据客房要求进行修改的问题。 反馈也有可能是用户自己推翻了自己的观点,改变了需求。等等。 这些问题才让人头大。所以项目的泥潭往往在后期。 采用bug管理软件可以解决绝大部分问题。

以上是个人经验和看法。

有机会可以继续讨论,我的Email: chenweibing@gmail.com

MSN:  wishbirds@hotmail.com