热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

程序员为什么都不愿写文档

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

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

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

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

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

怕烦

程序员从入门之日起,就在心里埋藏了一个编程的种子,认为程序员就是编程序的,就是和计算机打交道的,程序就是程序员的全部。无论是在编程之前要写文档,还是在编程之后要写文档。他们都认为写文档很烦人。

  • 文档种类太多。越是正规越是多。一想到要写那么多的文档程序员头都要大了。
  • 文档写作要求不低。有格式要求、有内容要求、还需要画各种流程图、示意图、关系图、界面图、还需要填写各种表格说明,要收集各种资料。虽然没有技术含量、但是时间要花的比编程序要多的多呀,而且也不一定能写好。
  • 在正规的开发公司一般一个变更就要编写一系列的变更文档。当变更不断的时候,只有最后的变更文档是最重要的,当我们不知道当前是不是最后一个文档的时候,我们就不可能愿意写将被后面替代的文档。
  • 当你写了文档后,就会不断有使用文档的人来问这问那,这些询问往往会让你崩溃。因为,你很难写出让每个人都提不出问题的文档。

没空

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

没有用

文档的重要性其实对不同对象是不一样的。如果你说文档没有用,立即会有人用吐沫把你淹死,他们立即会搬出那个那个说文档是重要的,文档是不可缺的。唯独自己不敢说“我认为文档是重要的。”这也反过来说明文档的有用性程度是不一样的。对于程序员来说,它只要能把程序编出来就行了。很多程序员不写文档照样编出程序来,在他们观念之中文档不写也罢。如果按文档编程序,那就要确保文档的正确性、不可更改性。而实际上,文档不如编程快、编程不如变化快,不断变化的需求和代码让文档如同一张过时的废纸一样。

现实中,有的文档变成了项目开发后的总结,对开发本身并不起作用,只是保留一个有的形式,以应付各种各样规范的需要。在这种情况下,文档没有任何实用价值,所以即使程序员写了,也没有什么作用。尤其是项目投产后,几经升级,最初的文档早已和现实的情况对不上号了,文档更新和系统的一致性更是难上加难。

没好处

既然认为编程序才是正道,那么程序员就会写文档就是一种额外和辅助的工作,做了就做了,对于程序员来说没有任何好处。所以没有好处的事是很少人乐意去做的。

当然文档的好处更多地体现在软件公司、单位、软件用户、后续程序员身上;它是一种前人栽树后人乘凉好事。但是,现在做好事的人太少了。所以,程序员不愿意写文档。

文档有多重要?有人把它上升到“程序员头脑的拷贝”的高度。有的人甚至说,程序员走了后,只要有了文档,软件公司可以再招新人,公司照样运转起来。如此说来,天性聪明的程序员会把文档写得清清楚楚,等待着公司卸磨杀驴?除非公司支付给额外的报酬,程序员才会把文档写好。

不会写

从写作本身来看,写好一篇文档不是一件容易的事。文档有文档的格式,文档有文档的写作要求。现在的人动嘴的本事特大,很多人平时谁会动笔写字呀,更不用说写文章了。所以,写文档从理论上来说也是需要学习和训练的,是需要平时写作积累的。当你要求他写文档的时候,他往往会回答你:“怎么写呀?我不会。”现在的社会有一个很奇怪的现象,人们对自己不会的东西,往往不当作羞耻,而是当作一种荣誉,“不会”脱口而出。你不会写可以不怪你,你不去学,反而理直气壮地说不会则是你的不是了。难道那会写文档的人都是呆子吗?难道他们不懂干活辛苦的道理吗?所以,凡是说话要动动脑子,不要把无知暴露在别人面前。要把必须掌握的技能先掌握起来,不要等到用时才说不会。

当一个男子爱上一个自己喜欢的女子,需要用情书来表白的时候,难道他不会写出情书来?即使他不会写,他也一定会克服千难万险把情书写出来的,这是他主观使然。如果程序员主观上想写文档,怎么会怕烦?怎么会怕没空?怎么会怕文档没有用?怎么会怕没有好处?怎么会怕不会写?这些怕其实都是借口。真正优秀的程序员不单是编程的高手,同时也应该是写文档的高手。

程序员真正不喜欢写文档的原因是:文档是给别人看的,不是给自己看的。如果要使程序员喜欢写文档,那就要提高程序员“为人民服务”的意识和境界,或者要给写文档的程序员以人民币奖励。而靠制度,靠管理,让程序员去写文档只能是一种职业的强制。当有一天,写文档也成了一个专业化岗位的时候,程序员和文档人员相分开的时候,程序员就会一心一意看文档写代码,文档员就会以此为职业,一心一意写文档拿工资。我们就不再会为此来讨论了。这种分工一定是未来的趋势。一些大的公司、管理规范的公司都有这样的分工了。只是很多中小软件公司或企事业里的IT部门还没有专业化到如此程度,程序员不喜欢写文档说明他们不愿意承担着太多的角色吧了。

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

本文地址:http://www.nowamagic.net/librarys/veda/detail/556,欢迎访问原出处。


推荐阅读
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 深入理解Spring:Aware接口、异步编程与计划任务
    本文将带你深入了解Spring框架中的 Aware 接口、异步编程以及计划任务。通过具体示例和详细解释,帮助你掌握这些核心功能的实现原理和应用场景。 ... [详细]
  • TechStride 网站
    TechStride 成立于2014年初,致力于互联网前沿技术、产品创意及创业内容的聚合、搜索、学习与展示。我们旨在为互联网从业者提供更高效的新技术搜索、学习、分享和产品推广平台。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • 前端开发:从底层到顶端的行业现象解析
    在编程领域,鄙视链现象屡见不鲜,从C语言到Java、.NET等,每个技术栈都有其独特地位。然而,前端开发者尽管常处于鄙视链底端,却在市场需求中备受青睐。本文深入探讨这一现象,并分析前端工程师如何在竞争激烈的市场中脱颖而出。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • PHP插件机制的实现方案解析
    本文深入探讨了PHP中插件机制的设计与实现,旨在分享一种可行的实现方式,并邀请读者共同讨论和优化。该方案不仅涵盖了插件机制的基本概念,还详细描述了如何在实际项目中应用。 ... [详细]
  • 分享一个简化版的Silverlight链接图项目:Link Map Simplified
    本文介绍了一个使用Silverlight开发的可视化工具,主要用于展示和操作复杂的实体关系图(Graph)。该工具在犯罪调查系统中得到了广泛应用,帮助用户直观地获取和理解相关信息。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 2020年悄然过半,时间的宝贵与无情令人深思。自去年12月开始撰写公众号以来,不知不觉已接近一年。本文将对findyi公众号在技术管理、认知提升、创业经验、职场发展、产品运营及个人成长等方面的文章进行总结,为读者提供一次回顾和补漏的机会。 ... [详细]
  • 本文详细介绍了C语言中的指针,包括其基本概念、应用场景以及使用时的优缺点。同时,通过实例解析了指针在内存管理、数组操作、函数调用等方面的具体应用,并探讨了指针的安全性问题。 ... [详细]
author-avatar
佳鈺佳琴欣怡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有