让你提前认识软件开发(40):既要写好代码,又要写好文档

简介: 第3部分 软件研发工作总结既要写好代码,又要写好文档         对于软件相关行业,在学校或单位上,大家也许都已经注意到了,除了要编写的程序、绘制设计图之外,还有一个重要的工作便是写文档。

第3部分 软件研发工作总结

既要写好代码,又要写好文档

 

        对于软件相关行业,在学校或单位上,大家也许都已经注意到了,除了要编写的程序、绘制设计图之外,还有一个重要的工作便是写文档。为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看。如果我们只是会写程序,不会在文档中描述自己的想法,那么就真正的成为“码农”了。

        工作也有一段时间了,我发现周围的同事,会写高质量文档的确实很少。李开复老师在《浪潮之巅》的序言中说到:“我认识很多顶尖的工程师,但具备强大叙事能力的优秀工程师,我认识的可以说是凤毛麟角。”确实,我所认识的同事,能够清晰表达自己思想的人也很少。

        有关文档书写,我印象很深的有如下几个方面:

        (1) 我们每天都会收发很多邮件,我仔细看了一下,很多邮件里面的内容要么语句不通顺、要么有很多错别字、要么误用或没有标点符号。很多时候,从不同的角度理解,一封邮件有很多不同的意思,让人感觉不知道它究竟要表达一个什么意思,这样极大地降低了工作的效率。

        (2) 除了代码之外,项目也会包含了大量的文档。打开大部分文档,看到的第一眼,我就有这几种感觉:排版不工整、格式不正确、语句不通顺、错别字连篇。一看就知道作者没有认真写文档,并且语句的表达和组织能力也不强。

        (3) 在项目小组成员讨论的时候,大家几乎都在说怎样把程序写好,而没有提到在文档书写方面应如何努力去改进。大家一直认为开发人员的职责就是把程序写好,其它什么的都是其次的。

        有关计算机软件的传统定义为:软件是计算机系统中与硬件相依存的另一部分,软件包括程序、数据及其相关文档的完整集合。注意,这里面就提到了“相关文档”,如果文档没有写好,那么软件也不能算是优秀的软件。事实上,软件功能健全,而由于文档原因出现故障的情况还时有发生。

        一般说来,在软件开发过程中,不同阶段涉及到的主要文档如下图所示:

1 软件开发不同阶段涉及到的主要文档

        可见,在软件的不同阶段,需要编写不同的文档。在设计阶段,需要编写详细设计文档、单元测试方案文档、集成测试方案文档等;在开发阶段,也是这几个文档,不过是修订版,因为我们在实际开发过程中,会发现之前设计不合理的地方或者是考虑不周的地方,这就需要对之前的文档进行修改;在测试阶段,要编写单元测试报告、集成测试报告等;在软件的发布阶段,要编写安装手册、用户手册、升级指导书等,这些文档主要是面向现场支持人员和用户的,因此要尽量写得通俗易懂,千万不要有模棱两可的情况存在,否则就只有等待用户的投诉了。

 

       在软件产品相关文档中,详细设计文档是非常重要的。通过对设计思路的详细描述,不但可以为本模块的编码工作提供必要的基础,还可以为测试人员提供一定的参考。

        一般说来,一份完整的详细设计文档的主体内容要包括如图2所示的9个部分。

2 一份完整的详细设计文档的主体内容

 

        集成测试方案(规程)文档用于指导软件的集成测试工作,也是一类很重要的文档。

        一般说来,一份完整的集成测试方案(规程)文档的主体内容要包括如图3所示的6个部分。

3 一份完整的集成测试方案(规程)文档的主体内容

 

        要想写好文档,我们需要首先纠正一个观念:文档不重要。要把文档放在与程序同等重要的位置。

        那么,我们如何才能写出高质量的文档呢?我认为可以从如下几个方面着手:

        (1) 改变文档为辅的观念,在平常的工作中,对于自己编写的每一份文档,均认真对待

        (2) 对于邮件的编写,要把自己想说的话准确地表达出来,在发送邮件之前,再看一下内容是否完整、是否还有错别字、语句是否通顺等

        (3)在编写文档的过程中,要严格参照项目组规定的模板来完成。在写完文档之后,对文档进行语法检查,以纠正错别字和有语法错误的地方。一般说来,有语法错误的语句下面会有一条绿色的波浪线。在提交文档之前,再通读一下整个文档,看是否还有疏漏和不足。

        (4) 在工作之余,可以读一些能够提高语言表达能力和写作能力的书籍,看一下别人是怎么表达自己思想的。在此,推荐阅读吴军的《浪潮之巅(http://book.douban.com/subject/24738302/)、《数学之美(http://book.douban.com/subject/10750155/)和《文明之光(http://book.douban.com/subject/25902942/),以及刘未鹏的《暗时间(http://book.douban.com/subject/6709809/),这几本书写得都比较好。

 

        总的说来,和做其它事情一样,书写文档也反映了一个人的态度问题。写出高质量的文档,不仅可以提升个人的形象(如果你看到一篇好文档,是不是也对作者有较高的评价?),还能够提升产品在客户心中的形象。如此分析,多花些心思来书写文档真的是很有必要。

        要想做好一件事情,需要我们从各个方面来努力。在开发软件的过程中,写好代码很重要,清晰地表达自己思想同样非常的重要。“代码”和“文档”就像是一个人的左膀右臂,一定要让两者均衡发展,而不能够只顾其一。

 

 

             (PS:这个问题在V众投上的回答:http://www.vzhongtou.com/question/421,欢迎大家关注V众投。)

 

             (本人微博: http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)
目录
相关文章
|
3月前
|
存储 数据可视化 数据库
团队文档管理有困难?总有一款工具合适你
本文介绍了团队文档管理的重要性及其在提升工作效率、保障协同作业和知识传承中的关键作用。随后,详细评述了六款广受好评的团队文档管理工具:板栗看板、Notion、Confluence、Quip、Google Workspace 和 Microsoft 365,分别从功能类型、发展历程、价格费用、产品特色、优缺点、适用场景及应用案例等方面进行了对比分析,旨在帮助读者根据自身需求选择最合适的工具。
团队文档管理有困难?总有一款工具合适你
|
2月前
|
前端开发 Unix 测试技术
揭秘!前端大牛们如何高效管理项目,确保按时交付高质量作品!
【10月更文挑战第30天】前端开发项目涉及从需求分析到最终交付的多个环节。本文解答了如何制定合理项目计划、提高团队协作效率、确保代码质量和应对项目风险等问题,帮助你学习前端大牛们的项目管理技巧,确保按时交付高质量的作品。
45 2
|
6月前
软件交付问题之要在需求评审中高效决策,如何解决
软件交付问题之要在需求评审中高效决策,如何解决
|
8月前
|
前端开发 JavaScript 测试技术
修改代码的艺术——如何高效开发、维护和重构复杂的现有系统
这篇文章回忆了作者在高三时期通过努力进入班级前列的故事,并引申到软件开发领域。作者指出,开发工作往往被认为困难重重,但实际上,通过良好的方法、设计和工具,可以提高开发效率和享受编程带来的成就感。文章以最近完成的一个复杂核心需求为例,详细介绍了如何分析、设计和实现这个需求,包括采用领域驱动设计(DDD)理念,数据库字段变更,代码实现,自动化单元测试,重构和代码维护的重要性。最后,作者推荐了几本关于软件开发的经典书籍,并鼓励开发者不断提升自己,以更好地应对挑战。
|
8月前
|
监控 安全 项目管理
项目成功秘诀:高效管理策略确保按时交付
项目成功对企业生存发展至关重要,需要明确目标和范围,运用SMART原则和设计思维确保目标与市场需求相符。通过工作分解、优先级排序管理需求,建立变更和风险管理流程。制定详细项目计划,考虑约束条件、关键节点和风险。优化团队协作,明确角色责任,建立有效沟通机制,激励团队成员。实施PDCA循环控制项目进程,关注交付和复盘,以实现高质量的项目成果。
298 1
|
XML 人工智能 Java
释放开发人员生产力:“文档级”代码了解一下?
网上一个经久不衰的段子: 程序员最讨厌的四件事: 1、 写注释 2、 写文档 3、 别人不写注释 4、 别人不写文档 今天我们就从让开发人员“看不惯又干不掉”的文档。
|
存储 安全 搜索推荐
详解软件开发的标准过程(生命周期):跟着标准搞,设计没烦恼
详解软件开发的标准过程(生命周期):跟着标准搞,设计没烦恼
|
人工智能 运维 大数据
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段
121 0
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段
|
缓存 负载均衡 算法
一对一源码开发,减少用户焦虑的三大优化要点
一对一源码开发,减少用户焦虑的三大优化要点
|
消息中间件 存储 缓存
提升相亲源码搭建效率,需要提前了解的技术架构
提升相亲源码搭建效率,需要提前了解的技术架构