开发人员,请不要抱怨项目没有文档

每当我们切入一个新项目时,我们发现项目中的文档总是少的可怜,而且里面的设计与当前的系统设计严重不符,有些甚至在架构上出现了严重的偏离。于是我们问待交接人,为什么项目中只有这么点文档,而且文档的内容也不准确?他们振振有词的告诉我们:这个项目的开发周期非常紧张,而且需求经常发生变化,他们根本没有时间去维护文档,里面的那份文档,是很久之前加班补的。要想看详细的设计,就去看代码吧,代码就是最好的文档。

听到这里,有些人也许会以为项目中的代码写的多么的酷,每个类都是按照教科书中的格式体去注解的。但当我们看完一个流程的代码之后,就开始喷血。代码中的注释就像食堂免费粥中的米粒一样稀少,而有些注释竟然是Todo体(Todo:  YYYY年MM月DD日 Modified By XXX  Invest some method to make it perfect)。看到这,我们恨死了那该死的代码就是文档。面对这样的项目,我们开始感叹,为什么大家就不能规范一下自己的代码呢?为什么不能多写点文档留给后来人呢?为什么当初要死要活的换项目?

在这个项目上经历了无数个日夜的摧残之后,终于有一天,我们要离开这个项目了。开始大喜,宴请四方同事,我们终于解放了,获得自由了。以后再也不用看这个烂项目了。于是开始准备交接工作,然后走人。

新来接手的同事看到项目上少的可怜的文档,开始发问: 为什么项目中只有这么点文档,而且文档的内容也不准确?我们振振有词的告诉他们:我们刚接手这个项目时,文档比现在还要少,而且都是错的。这个项目开发周期紧,经常加班,没有时间去整理文档。要看详细的设计,就去看代码吧,代码就是最好的文档。

代码就是文档,所有的程序员都听惯了这句话,也恨透了这句话。因为这句话,几乎伤害过每一个程序员。每当看到不严谨的注释时,心里总是会先把这段程序骂一顿,然后再开始骂写这段程序的人。我们总是觉得别人的代码写的不够好,而自己的代码写的很严谨。可是,当别人开始看我们的程序时,他们也总是把我们的代码骂一顿,然后再来骂我们。这就是典型的程序员相轻。

代码写的不好也就算了,可是偏偏又没有响应的文档,这叫人怎么可以忍受的了呢?每一个参与过敏捷开发的人,都知道项目的周期很紧,工作强度很大,在程序开发的某一个阶段,可能真的没有时间写文档。但是在项目的整个开发周期中,并不总是很忙的,如果想要写文档,肯定能找到时间的,如果说没有时间写文档,那就是找借口。即使真的在工作时间没有时间写文档,我们也应该利用自己的时间去把这些设计文档补上,这些文档不但对于后来人的理解有很大的帮助。对于自己来说,也是有莫大的帮助,这些文档能够帮助我们更好的理解这个项目。

作为开发人员,请不要抱怨项目没有文档。如果项目没有文档,我们应该及时的补上这些文档,并用这个好习惯去影响别人,并传递给别人。如果人人都不偷懒,认真写文档。那时候,项目就不再缺少文档,我们也不用苦苦去看代码,不用为代码就是文档而发愁。给别人铺路,就是给自己铺路。让我们严格要求自己,从传递文档开始做起,让程序员的世界越来越美好。

欢迎大家访问我的个人网站 萌萌的IT人

时间: 2024-10-11 08:05:29

开发人员,请不要抱怨项目没有文档的相关文章

我的项目需求分析文档模版

1. 项目概况 1.1. 背景 写项目的来龙去脉 1.2. 项目愿景 写该项目达到的目的. 例如 建设该项目是为了提高本区域的地质灾害预警预报的及时性. 1.3. 项目干系人 和该项目相关的人员和其负责的内容 在这里要找到主要干系人,也就是说能对系统功能拍板的人. 1.4. 运行环境 项目的运行环境,包括硬件环境和软件环境 1.5. 条件与限制 硬件条件限制.例如只能购买一台服务器,网络条件限制,只能走政务内网或局域网.或者已经指定了数据库和开发平台,开发语言等.还有工期等. 2. 数据需求 2

开发底层硬件应该怎么编写接口文档

开发底层硬件应该怎么编写接口文档 这几天在做超市RFID结算系统的上位机程序编写,用的是VB.NET.底层用的是别人开发好的SDK,为什么要写这一篇文章呢?最近因为手头设备的功能限制,我就在网上找其他的公司的RFID射频卡读写器,由于我是做上层开发,所以需要设备供应商提供底层SDK二次开发包,找了好多设备提供商 ,也跟他们索取各自提供的SDK,但总的来说,我还是觉得最先用的这个设备的厂家提供的SDK是最详细的,现在简单说明如下: 一.函数说明: 1.目录结构清晰: 2.函数返回值,参数用表格说明

【Win10 应用开发】自适应Toast通知的XML文档结构

原文:[Win10 应用开发]自适应Toast通知的XML文档结构 老规矩,在开始之前老周先讲个故事. 话说公元2015年7月20日,VS 2015发布.于是,肯定有人会问老周了,C#6有啥新特性,我学不来啊.学不来的话你应该检讨.老周比较保守地计算一下,学会C# 6只需要20秒,不信的话,老周笔划笔划一下,你就明白了. 1.属性自动初始化.在4.0中引入了这样声明属性: public int VVVV { get; set;} 以前是属性包装一个字段,在初始化属性时只要对字段赋值即可,这个省略

.NET项目工程生成一份项目帮助文档chm--Sandcastle工具

.NET项目工程生成一份项目帮助文档chm--Sandcastle工具

3年度研发项目情况项目目标文档

年度研发项目情况项目目标文档 目标 可以清晰的看出研究项目的准确及主要信息,提供准确的研究方向信息,统计出研究的各个方向,以及资金的详细状况. 好处 可以让管理者更直观的了解界面,让领导者更准确的制定计划 度量标准 可以提供最新的研究方向和研究弱点,最新的研究方向的研究成果增长10%,研究成果少的方向增加15%, 原文地址:https://www.cnblogs.com/wjwjs/p/8735293.html

电商项目系列文档(一)

最近有幸带领团队做了一个跨境电商项目,总结了一些经验,准备形成一个系列文档,供大家分享. 第一章主要对项目的整体情况和技术选型做一个简单介绍 整体情况: 1.跨境电商项目,线上已经有运行的项目,所以需要考虑老数据导入新平台的问题 2.前端分为微信端和PC端,由于现在HTML5跨平台还不成熟,所以前端是两个独立的平台,微信使用HTML5构建,PC端使用HTML4,共用一个后台 3.项目时间紧,人员经验浅,这个就不细说了,满满都是坑. 4.项目架构是领域驱动的三层架构,即无论前后台,传递领域实体参数

iOS项目架构文档

设计的项目架构主要引用MVVM+MVC架构,并以功能模块分级.以下为目录结构. 初级目录: 我们只需要关注SGZH文件夹下的目录,其他为Xcode管理的目录.可以看到此目录为项目初级目录,我们开发过程只需对初级目录内的文件进行操作,其主要划分为3大块: AppDelegate: AppDelegate是程序入口,程序启动和显示逻辑都定义在内部,主要可以让开发人员快速找到代理文件并了解程序从启动到显示过程,也可以快速进行一些初始化测试. Resource: 此目录主要存放一些项目资源文件,如项目切

[BI项目记]-文档版本管理笔记

代码的版本管理程序员们有专门的工具,那么作为项目管理人员如何进行文档版本的管理呢,此篇介绍如何通过SharePoint进行文档版本管理. 在没有SharePoint的时代我们如何管理版本呢?通常我们会在本地创建一个目录,或者在服务器上创建一个共享目录.但随着项目的进展文档在所难免要更新多次,而每次更新都想保留先前的版本,于是在这些目录里总会出现这些文档的副本.然后问题来了,当想确定文档从一个版本到另一个版本都改了什么的时候,该怎么做呢? 基于SharePoint,可以完美解决这些问题.Share

微信开发资料大全 java版本;教程文档、代码、视频

一.官网 1.1 账号申请 https://mp.weixin.qq.com 1.2 开发者模式 1.1 登录后,选择开发者中心 1.3 测试账号申请 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 1.4 开发接口文档 http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 1.5 调试工具接口 http://mp.weixin.qq.