程序员,如何写好文档?

简介: 程序要要不要写文档?为什么要写文档?如何写好文档,讨论如下。

前言

听说要写文档,程序员的第一反应是:为什么要写文档?不写!程序员的我们善于编码、善于讨论方案、争辩技术,大多不善于交流、尤其不善于写文档。记得我们团队有的童鞋的周报就一句话:修改bug:TDXXXX,TDXXX2,TDXXX3….
那么问题就来了,程序要要不要写文档?为什么要写文档?如何写好文档。

1、文档有哪些?

沟通纪要、会议纪要、周报、工作总结、需求文档、总体设计文档、详细设计文档、单元测试文档、测试用例文档、需求变更文档、产品说明书、项目总结文档等等。

2、写文档目的是什么?

你有没有遇到过开晨会、周会的时候某个问题已经讨论的很清晰。但是几天后或者临近周末的时候再说这个问题的时候,团队中有的童鞋会说:“我不知道,没有说过这个问题或者这个方案”,因此而造成的BB事很伤神费心。
为了避免出现问题后的瞎BB,特需要形成文字记录下来。

1)好记忆不如烂笔头,我们讨论很好的方案,有时候只是灵光一闪,尽快记录下来会留住灵感。

2)追根溯源。口头开会的时候,大家各抒己见,貌似已经讨论出方案。但实际每个人的理解各有不同,会后及时形成文档甚至图表,抄收给与会者,便于大家达成共识。如:能清晰界定出责任、明细分工。

3)真正写的时候,更便于梳理思路。如:需求文档会清晰定义每一个客户需求点和要求,是用户利益保障的前提,是甲方、乙方沟通的纽带和桥梁。如:会议纪要是大家会议讨论结果的总结,存在问题、责任人、解决方案明确的基石。如:变更需求的依据,原来需求怎么写的,为什么不满足,原因是什么?如何修改等。

3、文档的痛点有哪些?

1)认为不重视。程序员往往会感觉没必要,能技术实现就ok了,其他不重要。

2)真心不想写。会形成恶性循环,这次不想写,下次、下下次还会如此。

3)感觉没必要。感觉没有必要写,不知道为什么要写,不知道写什么?

4、文档的重要性

1)研发开发根据,功能实现根据
需求明细是开发技术实现的依据,验收时需求矩阵中的每一个点都要覆盖和完善。

2)关乎项目的持续性。
项目管理中有文档归档管理,规划、需求、设计等贯穿项目始终的流程中的所有文档都要归档。便于下一个版本或后续项目开展的很好的依据。新加入团队人员的第一手也是最重要参考文档。

3)是为证据,便于追责
项目中曾经出现过通过甲方、乙方的邮件作为证据对簿公堂的情况。

5、如何写好文档?

5.1提纲挈领

写之前先列出提纲或者参考公司模板文档,包含哪几部分、每个部分的要点是什么都大致想到。
有了轮廓,再动笔去写。

5.2逻辑清晰

尽量不要口语化,要逻辑清晰、主次分明。如:周报好的方式包括:
1)上周工作:逐条列出。
2)上周遇到难题:逐条列出。
3) 上周风险点&待讨论点:概要列出。(会后讨论)
4)本周计划:逐条列出。

5.3图文并茂

需要图、表的地方一定不要省略。比如设计文档中的:架构图、模块图、类图、活动图、流程图等。
比如设计文档中的示例配置.ini、.xml、.conf要以截图或者表格的形式说明字段和含义。
一图胜白文,有图有真相。

5.4同步更新

这点非常重要。如设计方案真正实现的时候可能和文档不一致。实现改了,文档要跟着改。便于自己后续排除问题,也为项目以后的维护者造福。要不别人会看着一头雾水。
如:代码更新了,注释要同步更新。

5.5提供认识

团队乃至公司上下要形成一致方案,非常重视并上行下效。

5.6全局统筹

刚开始程序员的我们可能不适应,但想到利弊得失。要逐步适应。并且高层要全局统筹,做好相应的奖惩措施,提高大家的认识和积极性。

小结:

文档并不可怕,想想我们多复杂的架构头能理顺、多逻辑都能实现,文档也就是小Case。
但是,即便如此,程序员的要非常重视文档的重要性。

作者:铭毅天下
转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/51712757

相关文章
|
2月前
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
745 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
3月前
|
算法
探索代码的奥秘:从新手到高手的技术感悟
在技术的海洋中,每一行代码都如同一颗璀璨的星辰,引领着我们探索未知的宇宙。本文将分享一段从编程新手逐步成长为技术高手的旅程,以及在这个过程中积累的一些心得与感悟。
21 4
|
4月前
|
算法 Java 程序员
探索代码之美——从小白到大牛的编程旅程深入理解Java中的异常处理机制
【8月更文挑战第29天】编程,一门看似神秘而复杂的艺术,实则充满无限可能与创造的乐趣。本文将带你走进编程的世界,从最初的迷茫与困惑,到逐步掌握编程思维,再到深入理解代码背后的哲学,一起见证一个编程小白如何成长为技术大牛的奇妙旅程。
|
4月前
|
搜索推荐 程序员
代码之旅:我的编程实践与感悟
在这个数字时代,编程已经成为一种重要的技能。它不仅仅是计算机科学的一个分支,更是一种解决问题的工具。从最初的迷茫到现在的熟练,我在编程的道路上经历了许多挑战和困惑。这篇文章将分享我的编程实践经历,包括我如何从一个初学者成长为一名有经验的程序员,以及在这个过程中我所学到的一些重要经验和感悟。
|
5月前
|
设计模式 JavaScript 程序员
探索源码:程序员的自我提升之路
探索源码:程序员的自我提升之路
40 1
|
7月前
|
前端开发 JavaScript 程序员
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
|
6月前
|
存储 IDE 搜索推荐
程序员应该学习的 10 件事
程序员应该学习的 10 件事
|
6月前
|
存储 算法 Java
技术好文共享:程序员的进阶课
技术好文共享:程序员的进阶课
26 0
|
7月前
|
存储 自然语言处理 C++
刷题用到的非常有用的函数c++(持续更新)
刷题用到的非常有用的函数c++(持续更新)
89 1
|
存储 Java
[java编程日记]捕鱼达人(一)
[java编程日记]捕鱼达人

相关实验场景

更多