文档与团队

Utensil按: 此文是我在renny的博客实习回来,说说心理话 的回复,讲了个人对文档与团队的一点粗浅理解。现在放到自己的博客里来存个照。

 

文档

 

关于文档的重要性,我说一个自己的经历:

之前为某外国开源类库写一个实用工具,有两个core developer review,往来都是e-mail沟通,但基本上是一个人写的,但在核心功能实现之后,我由于时间原因不得不搁置下来,我最后就用Doxygen给软件 写了非常详尽的文档,说明了设计思路、可扩展的开发接口、存在的问题以及TODO等等。我搁置很久之后,那个对我工作了解的最少的core developer轻松地接手了维护。

我这样做是因为我深知:

这个实用工具,如果没有为它的核心类写份文档,在我停止开发之后,最有可能的命运就是因为维护问题而从类库的util中消失,或者变成别人写的新实现,而他们却无从了解旧设计在产生过程中所遇到的实际问题以及相应的适应性改变,要提炼出一个更好的设计会更困难。

文档是软件生命的有机成分,能在作者离开后延续它生命,原有的经验和代码得以重用,或对新的设计有启发。而光溜溜的源代码,可能在环境变后都无法编译了,可能时过境迁自己都理解不了了,又有谁来试图理解和维护?曾经花在上面的心血,就此白费。

解耦的确是写程序中非常重要的一环,但是内聚所代表的“把相关的内容尽可能集中,方便理解和维护”,在实际编程中更难做到。而文档在这上面能有一定帮助。

写作文档的过程也是一次清理接口和重构的过程,因为如果接口设计得不好,文档写起来就非常困难,非常冗长。可以以“好的代码不需要注释和文档”的思想来指导编码,不过不能因此而觉得文档无用。

强调文档重要性,不是个学院派的唠叨,实践中挺重要的,就像单元测试一样,没有,始终是个致命伤。

 

团队

关于团队的问题,的确是一个很令人头疼的问题。

在学校里,能者往往居组长,组长往往变苦力。这其实是团队非常原始的形态,可惜这样一种原始的形态仍然不断在实际工作中重现、定型、死循环化。这种形态的另外一个变种是组长是甩手掌柜/催命神,副组长做苦力。

和很多同学相比,我并不是一个有很好组织能力的人。但大学四年,一个很重要的收获,就是在一次次做组长的团队中,每一次和前一次相比,我都更从苦力状态中挣脱出来,团队也更从孤立单干、陷于碎片的状态中挣脱出来。

并 不至于变成了甩手掌柜,我仍然把握住最为核心,某些事情团队中只有我才能做好的事情,我依然自己完成,但一次比一次剥离出去让组员做的事情更多。到后来, 我手上不会再有劳动力密集型的工作,工作量也成了团队中最少的,但我却能更好地调动团队,让他们去做他们有积极性做的事情,而这些事情能为我省不少心,同 时又充分发挥了他们的特长和能力,保证了进度和最终的质量。

早沟通,早让他们参与其中,以及自己心中预先对不同难度的各种任务的分布有个 基本的概念,有些人可以一直参与做个了解状况的闲人,后期可做预备队来解燃眉之急。如果有同学技术不行,我会制造给他一种项目需要他的力量的感觉,让他紧 迫起来,不至于觉得自己什么事都做不了,什么责任都不用负,也就毫不关心。至少他会在项目期间试图去学一些相关的基础知识,如果了解项目,后期调用他,他 也能有相应的功能,呵呵。

而且远在了解敏捷开发的结伴编程之前,我在宣传部就用了结伴的管法。每一张海报,都由两个人完成,其中一个指定 为主要完成海报的人,因为PS这个事情本来能合作的就有限。另外一个人其实对这张海报什么都不用做,(往往有另外的任务在身),但会需要督促前者的进度, 在前者陷入审美困境的时候给他建议,闲下来也可以做前者的助手。如果进度和质量不过关,两个人都要负责。

这个管法是从我自身的工作效率低 下的体验中总结出来的,因为我会把正事搁到最后一刻加班做,之前的设计酝酿阶段和找资料阶段往往因为一点不知方向在何就停顿下来。因为做海报,特别需要灵 感和方向感。一个人做的时候我往往感觉到需要另外一个人和自己一起才带劲。所以在管团队的时候,我就用了这个办法,把这另外一个人制度化。

当然,这些措施也未必有效,说下自己心得,与博主分享,欢迎大家指正。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。
### 内容概要 这份《计算机试卷1》包含多个部分,主要覆盖了计算机基础知识、操作系统应用、文字处理、电子表格、演示文稿制作、互联网应用以及计算机多媒体技术。试卷以单选题开始,涉及计算机历史、基本概念、硬件组成、软件系统、网络协议等。接着是操作应用部分,要求考生在给定的软件环境中完成一系列具体的计算机操作任务。 ### 适用人群 本试卷适用于计算机科学与技术、信息技术相关专业的学生,以及准备计算机水平考试或职业资格认证的人士。它适合那些希望检验和提升自己计算机操作能力的学习者,也适用于教育工作者作为教学评估工具。 ### 使用场景及目标 1. **学习评估**:作为教育机构的课程评估工具,帮助教师了解学生对计算机基础知识的掌握程度。 2. **自学检验**:供个人自学者检验自己的计算机操作技能和理论知识,为进一步学习提供方向。 3. **职业发展**:为职场人士提供计算机技能的自我提升途径,增强其在信息时代的竞争力。 4. **考试准备**:为准备计算机相关考试的考生提供实战演练的机会,加强考试自信。 5. **教学资源**:教师可以将其作为教学资源,设计课程和实验,提高教学效果。 试卷的目标是通过理论知识的测试和实践技能的操作,全面提升考生的计算机应用能力。考生应掌握从基础的计算机组成原理到复杂的数据处理、演示文稿制作、网络应用以及多媒体技术处理等多方面技能。通过本试卷的学习与练习,考生将能够更加熟练地使用计算机解决实际问题,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值