`

程序员不愿写文档的真实原因

 
阅读更多

一提到文档,肯定会有人向你大谈外国公司、大公司、正规公司是怎么怎么重视文档的,什么2/3时间用于写文档,1/3时间才用来编程序;写文档要按照什么 ISO、什么CMM、什么标准;不按这些标准写出来的就不是文档,就不是好文档;不重视文档就是不正规等。当问及他自己写过什么文档,编写过什么文档标准 的时候,这种人就哑口无言了。

不管怎么说,文档绝对是程序员最大的软肋。一些称为高手的程序员往往可能是文档方面的低能儿。不管这个程序员是在大公司、小公司,不管程序员是写文档的、还是不写文档的,大部分程序员在内心深处都是不愿意写文档的。

程 序员一般不愿意写文档,但是程序员却喜欢看别人的文档。即使写文档,程序员一般不会把所有功能都写入文档,却抱怨别人的文档中有的功能没有说明。即使愿意 写某段文档,程序员一般不会把文档写得很详细,却抱怨别人写的文档不够详细。文档绝对是摆在程序员面前的一个矛盾,如果让程序员选择是喜欢写文档,还是喜 欢看文档,我估计大多数程序员都会选择后者。

那么程序员为什么不愿意写文档呢?其中的原因很多,我自己归纳了几点:

1.怕烦
程序员从入门之日起,就在心里埋藏了一颗编程的种子,认为程序员就是编程序的,就是和计算机打交道的,程序就是程序员的全部。无论是在编程之前写文档,还是在编程之后写文档。他们都认为写文档很烦人。
1)文档种类太多。越正规越多。一想到要写那么多的文档,程序员的头都要大了。
2)文档写作要求不低。有格式要求、内容要求,还需要画各种流程图、示意图、关系图、界面图和填写各种表格说明,以及要收集各种资料。虽然没有技术含量,但是要花的时间比编程序多,而且也不一定能写好。
3)在正规的开发公司中一般一个变更就要编写一系列的变更文档。当不断变更时,只有最后的变更文档是最重要的。当我们不知道当前是不是最后一个文档时,我们就不愿意写可能被后面的文档替代的文档。
4)当写了文档之后,就会不断有使用文档的人来询问细节,这些询问往往会让人崩溃。这是因为很难写出让每个人都提不出问题的文档。

2.没空
在 很多情况下,程序员都处于一种“时间紧、任务重”状态。在急于得出编程结果的驱使下,程序员一心扑在编程上,恨不得一分钟一个变化,哪有心思和时间先把文 档写好再去编程呢?即使他们拥有先把程序编出来,然后再补写文档的想法,但是一旦他们完成一段程序之后,就会立即扑向第二段程序。如此下来,编写文档只能 放在项目开发的后期了。你要是真的写文档,那写文档的时间早已将编程时间给挤占了,你的编程工作就完不成了。

3.没有用
文 档的重要性其实对不同对象是不一样的。如果你说文档没有用,立即会有人用唾沫把你淹死,他们立即会搬出哪个哪个说文档是重要的,文档是不可缺的。唯独不敢 说“我自己认为文档是重要的”。这也反过来说明文档的有用性程度对不同人是不一样的。对于程序员来说,只要能把程序编出来就行了。很多程序员不写文档照样 编出程序来,在他们的观念中文档不写也罢。如果按文档编程序,那就要确保文档的正确性、不可更改性。而实际上,文档不如编程快,编程不如变化快,不断变化 的需求和代码让文档如同一张过时的废纸一样。
在现实中,有的文档变成了项目开发后的总结,对开发本身并不起作用,只是保留一个存在的形式,以应付 各种各样规范的需要。在这种情况下,文档没有任何实用价值,所以即使程序员写了,也没有什么作用。尤其是项目投产后,几经升级,最初的文档早已和现实的情 况对不上号了,文档更新和系统的一致性更是难于控制。

4.没好处
既然认为编程序才是正道,那么程序员写文档就是一种额外和辅助的工作,做了就做了,对于程序员来说没有任何好处。
当然,文档的好处更多地体现在软件公司、单位、软件用户、后续程序员身上,它是一种“前人栽树,后人乘凉”的好事。所以程序员不愿意写文档。
文档有多么重要呢?有人把它上升到“程序员头脑的拷贝”的高度,有的人甚至说,程序员走了后,只要有了文档,软件公司可以再招新人,公司照样运转起来。如此说来,天性聪明的程序员会把文档写得清清楚楚吗?

5.不会写
从 写作本身来看,写好一篇文档不是一件容易的事。文档有文档的格式和写作要求。现在的人只喜欢动嘴说事,没有多少人在平时会动笔写字,更不用说写文章了。所 以,写文档从理论上来说也是需要学习和训练的,需要在平时进行写作积累。当要求一些程序员写文档的时候,他往往会回答你:“怎么写呀?我不会。”你不会写 可以不怪你,你不去学,反而理直气壮地说不会,则是你的不对了。难道那些会写文档的人都是“呆子”吗?难道他们不懂干活辛苦的道理吗?
当一个男子 向一个自己喜欢的女子示爱,需要用情书来表白的时候,难道他不会写情书吗?即使他不会写,他也一定会克服千难万险把情书写出来的,这是他的主观使然。如果 程序员主观上想写文档,怎么会怕烦?怎么会怕没空?怎么会怕文档没有用?怎么会怕不会写?这些怕其实都是借口。真正优秀的程序员应该不单是编程的高手,同 时也应该是写文档的高手。
程序员真正不喜欢写文档的原因是:文档是给别人看的,不是给自己看的。如果要使程序员喜欢写文档,那就要提高程序员的意 识和境界,或者要给写文档的程序员以奖励。而靠制度、管理让程序员去写文档只能是一种职业上的弊端。当有一天写文档也成为一个专业化的岗位,程序员和文档 人员分开时,程序员就会一心一意看文档写代码,文档员就会以此为职业,一心一意写文档拿工资。我们将不再为此进行讨论。这种分工一定是未来的趋势。一些大 的公司或管理规范的公司都已经有这样的分工了。只是很多中小软件公司或企事业单位里的IT部门还没有专业化到如此程度。程序员不喜欢写文档也许说明他们不 愿意承担太多的角色吧。

不管怎么说,作为一个程序员(尤其想成为优秀程序员)一定要学会写文档,一定要学会欣赏文档。无论你是否喜欢,你都应该可以在文档的各种问题面前可进可退。可以这样说,那些既不会写文档,又不会欣赏文档的程序员是没有资格说“我就不喜欢写文档”这种话的。

分享到:
评论

相关推荐

    程序员项目交接文档

    程序员项目交接文档概要 IT 项目交接文档概要是程序员在项目交接过程中的重要文件,它对项目的开发、测试和维护起着至关重要的作用。本文档概要将对程序员项目交接文档的主要内容进行概要介绍。 人事模块是程序员...

    程序员如何写文档

    程序员如何写文档

    程序员——必看的文档

    程序员——必看的文档 程序员——必看的文档 程序员——必看的文档 程序员——必看的文档

    程序员前后台帮助文档

    这份文档旨在为程序员提供全方位的支持,帮助他们理解和应用这些技术,提高开发效率。 首先,Java API是Java编程语言的核心组成部分,它提供了大量的类和接口,供开发者使用。Java API包含了集合框架(如ArrayList...

    程序员(程序员受益终身的文档)

    标题和描述中提到的“程序员受益终身的文档”聚焦于程序员个人品质的培养与提升,强调了在职业生涯中,除了专业技能(硬实力)外,软实力的重要性也不容忽视。文章通过具体案例和分析,深入探讨了程序员在成长过程中...

    程序员常用API文档

    程序员开发的时候常用到的中文API文档,是chm格式的,查阅十分方便。类型包括java中文API文档,android中文API文档、DHTML中文API文档、EXTJS中文API文档、JS中文API文档、linux命令文档、MYSQl中文API文档和MAPABC...

    JAVA 程序员常用参考文档

    Java是世界上最流行的编程语言之一,尤其对于后端开发而言,它是不可或缺的工具。"JAVA程序员常用参考文档"这个压缩包,很显然包含了Java开发者在日常工作中可能会频繁查阅的重要资料。这里我们将深入探讨JDK(Java ...

    最新程序员写的辞职信程序员辞职申请书WORD文档模板.docx

    最新程序员写的辞职信程序员辞职申请书WORD文档模板.docx 从标题和描述中,我们可以看到,这是一个程序员辞职申请书的 WORD 文档模板。这种模板通常用于程序员在辞职时向公司递交的申请书,用于表达辞职的意图和...

    java程序员常用帮助文档

    ajax.chm/DWR中文文档.pdf/EJB轻松进阶.chm/Hibernate_3.2.0.chm/Hibernate_api.chm/j2eeAPI.chm/Spring_2.0_Reference_zh_...

    程序员帮助文档仓库(chm)

    ### 知识点一:程序员帮助文档仓库的概念与价值 #### 概念解析 程序员帮助文档仓库是指一种专门收集、整理并提供各种编程语言、软件开发工具和技术文档资源的存储库。这类仓库通常包含了多种格式的技术文档,如PDF...

    Typora程序员专用的md文档编写器

    在编程领域,Markdown因其简洁、直观的语法,成为了程序员撰写文档、笔记、博客的首选工具。而Typora,就是一款专为程序员设计的Markdown编辑器,被誉为程序员最喜欢的Markdown编辑器之一。 Typora提供了一个无...

    EditPlus程序员的文档编辑工具

    作为一个程序员,需要一个强大的文档编辑软件!HTML、xml、web、C/java等等格式的都能打开,并能快速排版,很实用的工具!

    mac 文档查询神器 dash 程序员必备

    标题中的“mac 文档查询神器 dash 程序员必备”指的是 macOS 平台上的一款名为 Dash 的应用程序。Dash 是一款非常实用的文档查询工具,专为程序员设计,它集成了大量的 API 文档、框架手册、语言参考等资源,使得...

    程序员接单宝典PDF文档

    本书的作者是一个在外包行业奋战多年的资深程序员,经 过近十年的磨砺,作者从一个开始靠个人只身接单的码农,成 长为一个带领十几人的团队承接大型软件项目的领头人。在这 些年中,作者经历了被人骗包、被人甩单、...

    程序员文档编译器Typora

    程序员文档编译器Typora

    程序员试题合集帮助文档

    关于程序员的一些曾经的试题。希望大家觉得有用。

    程序员手册 v22文档

    《程序员手册 v22文档》是一份非常实用的资源,主要针对程序员,旨在提供有关CL2005Ocx控件的详细使用指南。这份文档适用于CL2005Ocx 1.0.2.0及更高版本,且根据2008年11月的更新,内容可能涵盖了该时间段的最新技术...

    测试文档与程序员交互

    ### 测试文档与程序员交互的关键知识点 #### 一、明确问题与解决方案 - **核心理念**:撰写测试文档之前,必须清楚地理解所要解决的问题,并根据问题选择合适的解决方案。 - **实施步骤**: - **问题识别**:确定...

    简历模板通用程序员简历怎么写简历模板通用程序员简历怎么写

    简历模板通用程序员简历怎么写简历模板通用程序员简历怎么写

    程序员面试百科全书文档

    程序员面试百科全书:java jsp asp php mysql ,sqlserver ,oracle db2 等

Global site tag (gtag.js) - Google Analytics