一、为什么要写文档?

1、帮助写文档的人理清思路

先写文档,就需要抛开代码细节,去站在全局思考,写作的过程,就是思考的过程。
写文档可以帮助在写代码之前理清思路和想清整体结构,必须努力把心中一些未成型的混乱的想法和概念确定化和具体化,才能写出来。

2、便于未来的维护和交接

一个正常的项目组,如果需要长期维护,就需要一定的文档,把设计、操作流程、环境配置等内容记录下来,而不能依赖于口口相传。
另外把日常工作中遇到的问题、各种环境配置、一些操作步骤,还有其他可能还会用的上的都记录下来。

3、便于团队更好的沟通协作

文档是团队成员很好的沟通工具。

二、如何写好文档

很多人不是不爱写文档,而是不知道如何写好文档。写好文档,关键是通过文档把想法表达出来,用词、格式都是次要的。

1、从模仿开始,模仿是最好的写文档方式

2、从小文档做起,之后再整理

3、从粗到细,迭代更新

一开始的目的是梳理清楚思路,只要脑图/PPT这种级别的就够了,在收集反馈的过程中会有很多修改,等到基本确定后再写细节,就不会有大的反复。

4、一些写文档时常用的图

俗话说:一图胜千言,写文档的时候,主要有几种图比较常用:线框图、流程图、时序图、截图。
线框图
用简单的方框代替功能、模块、服务等,再用剪头表示关系或者数据流,简单直接。需要理清有哪些模块,模块之间的关系。如下Netflix账单系统架构图。

流程图
要画好流程图,重点是理清楚逻辑关系,各个关键节点在不同条件下的走向。如下重置密码流程图。

时序图
可以表示不同对象之间发送消息的时间顺序,在涉及网络通信的文档中经常使用。
关键是列清楚所有涉及的对象或者服务,以及消息发送的先后顺序。

其他建议

最后,也不要陷入过于追求文档的情况中去,花大量的时间写一些形式化的没太大意义的文档。
文档很重要,但是工作的软件高于详尽的文档。这里面的平衡很重要。
不需要为代码写很多文档,好的代码格式,良好的注释、完善的单元测试可以很大程度上代替针对代码而写的文档。

11、项目规划篇-项目文档相关推荐

  1. 项目规划和方案设计文档的编写

    引言 在工作中,很多时候,我们都需要就一个问题提出一个解决方案,这时候,我们很可能需要产出一个文档来供大家讨论,并指导下一步工作计划.这个文档便是所谓的设计文档. 问题可大可小,形式上是否叫它为一个项 ...

  2. 软件项目开发,交付文档(全)

    2019独角兽企业重金招聘Python工程师标准>>> 作为一个软件项目负责人,这些文档的编写是必须懂的 这里列出软件项目开发,交付时文档的文档供大家参考.模板的话需要一个个文档去研 ...

  3. 软件项目开发所需文档

    软件项目开发所需文档 在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性.精确性.清晰性.完整性.灵活性.可追溯性. ◇ 可行性分析报告:说明该软件开发项目的实现在技术上.经济上和社 ...

  4. SPA 项目 之 后台接口文档

    SPA 项目 之 后台接口文档 SPA 项目 之 后台接口文档 用户注册 用户登录 数据增加 数据删除 数据修改 数据查询 SPA 项目 之 后台接口文档 用户注册 用户注册接口调用: http请求方 ...

  5. PSP系统项目前景与范围文档

    PSP系统 项目前景与范围文档 目   录 1.  业务需求..................................................................... ...

  6. 上海期货交易所数据备份软件项目前景与范围文档

    1.  业务需求 1.1 应用背景 期货交易所,是从事期货交易的人按照法律所组成的一种非营利性的会员制的团体的组织.期货交易所成立的目的,在于提供交易场所及其所需的设备和各种服务,制定交易规则,维护公 ...

  7. Uniapp商城项目【详细笔记文档】

    文章目录 前言 一.创建项目和引入文件 二.[底部]导航开发 三.[首页]顶部开发 四.[首页]swiper部分 五.[首页]推荐部分开发 六.[首页]文字封装开发 七.[首页]商品列表和单个商品组件 ...

  8. ContextCapture User Guide V4.4.11 Welcome(Smart3D 帮助文档 第一章 欢迎)

    一.导言 欢迎阅读ContextCapture用户指南.ContextCapture是一种根据简单照片或者点云来生成高分辨率的3d模型的软件解决方案,且不需要任何人工干预.ContextCapture ...

  9. 14.Flink1.11 安装部署及Release 文档解读

    Flink1.11 安装部署及Release 文档解读 1. [Flink 1.11 Release 文档解读](https://ci.apache.org/projects/flink/flink- ...

最新文章

  1. windows上配置jdk环境变量
  2. 智能的定义是什么?如何正确理解智能家居?
  3. STM32F4 HAL库开发 -- 串口
  4. bentley 二次开发_Bentley的基本概念
  5. [转]5分钟实现Android中更换头像功能
  6. spearman相关性_Spearman的相关性及其在机器学习中的意义
  7. 最大计算机病毒诈骗怎么发生,又是怎么被制止的
  8. object-C控制语句
  9. HashMap与ConcurrentHashMap的测试报告
  10. Ubuntu下编译SHTOOLS
  11. 关于 html 中 table 表格 tr,td 的高度和宽度
  12. 一首歌是怎么诞生的?
  13. 用差分法求解burger方程 matlab,偏微分方程数值解上机实验.doc
  14. 迷宫里抓神兽Java游戏_塞尔达传说荒野之息全神兽迷宫进入方法 四大神兽怎么打?-游侠网...
  15. Pr 视频效果:过时
  16. java课程结课论文_Java技术综合课程设计论文
  17. WEB前端面试选择题解答
  18. 九个小妙方缩小毛孔立竿见影! - 生活至上,美容至尚!
  19. Excel将合并后的单元格恢复成多行并添加数据
  20. SCL 和 SDA 是 I2C 总线上的两个信号线。 c++ 模拟数据

热门文章

  1. 高中生使用计算机情况调查,关于高中生手机使用情况的调查报告
  2. 10个极品智能车方案合辑,夏日避暑进阶两不误
  3. 为服务器设置固定IP地址
  4. 华为鸿蒙真的能上市吗,华为p40什么时候上市 或用鸿蒙真的吗
  5. 7.18洪资内参(更新中)
  6. 电流,电压与温升之间的关系(多元回归笔记,持续更新)
  7. 雯琦恋の外国词曲比中国少
  8. 网站 页面公共部分的处理
  9. MacOS开发环境搭建
  10. Fresnel(菲涅尔)