我们不需要代码之外的文档

标签: 注释 文档 批评评论 | 发表时间:2013-07-18 00:25 | 作者:Aqee
出处:http://www.aqee.net
文档

“你需要写更详细的文档”。你听到了没有?我听到了,很多次,在很多公司里。大多数人都会因为没有写文档而内心不安,认为应写文档。但我不是。

文档有两种——代码内和代码外。代码内文档包括javadoc(或任何用来描述类和类方法的语言工具)和代码注释。外部文档包括描述产品的文档和内部材料。

外部文档最大的问题:它会过期不更新。让它们保持同步更新是一个麻烦且耗时的工作。

外部文档第二大问题:没有人真正用它们。

程序员是写代码的。他们善于读代码。代码对于他们有特殊意义。给重要类写说明,在方法内部对重要场景写注释,这被认为是最佳编程实践方法,优秀的程序员都这么做。这能让代码对于人们来说更易理解,加上能自我说明的编码方法,这就是一部完整适用的文档。它不需要你去同步更新(你修改代码的同时修改了它)。

我们需要外部文档吗?也许吧。有必要对整个系统架构做一些简洁的描述,让这些代码有一个大的背景。有哪些模块,它们是如何交互的——这就够了,只需一页。但这同样会过期不更新,但至少它比较容易维护,团队首领和架构师需要经常的检查它们是否已经过期。

如果你是测试人员,或是产品经理,你会说你不理解这些程序,你的工作中需要这些文档。我可能有些粗鲁,但如果你需要这些东西,你应该自己去写。程序员不是技术文档撰写员,写外部文档不是他们的工作,也不是他们感兴趣的。如果你不想写这些文档,而你仍想知道这些程序是干什么的,那就去问程序员吧。他们会乐意为你读这些注释,向你解释它们的功用。如果代码的功用和期望的动作不一致时,那去检查问题跟踪系统,看看需求究竟是什么样的。你不需要外部文档来描述这些代码是干什么的。

当然,软件是给用户使用的,需要一些用户手册,但这实际应该由其他人来编写。

所以,下次当有人坚持认为程序员需要写文档来描述程序的功能时,驳斥他们。坚信这是在浪费时间和精力,坚信有了代码和注释就足够了。如果这些不够,这说明你需要有更好的编程规范和编程习惯,而不是写文档。

:)


本文由 外刊IT评论网( www.aqee.net)原创发表,文章地址: 我们不需要代码之外的文档,[英文原文: We Don’t Need That Documentation ]







相关 [需要 代码 文档] 推荐:

我们不需要代码之外的文档

- - 外刊IT评论
我听到了,很多次,在很多公司里. 大多数人都会因为没有写文档而内心不安,认为应写文档. 文档有两种——代码内和代码外. 代码内文档包括javadoc(或任何用来描述类和类方法的语言工具)和代码注释. 外部文档包括描述产品的文档和内部材料. 外部文档最大的问题:它会过期不更新. 让它们保持同步更新是一个麻烦且耗时的工作.

Web前端开发规范文档你需要知道的事

- - 博客 - 伯乐在线
为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本文档如有不对或者不合适的地方请及时提出, 经讨论决定后方可更改.. 符合web标准, 语义化html, 结构表现行为分离, 兼容性优良.

【原创】三把利器快速制作代码帮助文档

- We_Get - 博客园-首页原创精华区
相信不少麻油都已经积累了属于自己的代码库了,不知道是否有过这样的经历:. A:听说你上次写了个通用XXX类库啊,我正好要用到,麻烦把dll发我一下. B:好的,你等一下,我发给你. A:喂,你这个类是怎么用的啊,有没有帮助文档啊. B:汗,没来得及做,我来和你说吧. 一个好用的类库,如果能配上一个好的说明文档(最好还带搜索功能),无疑是为自己和他人提供了莫大的方便,有什么想要的功能,去文档里一查,一目了然.

Java实现HTML代码生成PDF文档

- - 企业架构 - ITeye博客
1、IText实现html2pdf,速度快,纠错能力差,支持中文(要求HTML使用unicode编码),但中支持一种中文字体,开源. 2、Flying Sauser实现html2pdf,纠错能力差,支持多种中文字体(部分样式不能识别),开源. 3、PD4ML实现html2pdf,速度快,纠错能力强,支持多种中文字体,商业.

Android 4.0编译源代码需要16GB内存

- coofucoo - Solidot
新一代的智能手机也许更轻更小巧,但它们的操作系统则走向另一个极端. Android 4.0 Ice Cream Sandwich(ICS)编译源代码将需要工作站内存不低于16GB,是编译Gingerbread的两倍. 如果开发者想编译ICS,他需要准备:单次构建需25GB空间,同时编译所有AOSP(Android Open Source Project)配置需要80GB空间,16GB以上内存,在二个四核处理器2.4GHz机器上完成单次构建需5+小时CPU时间,经过时间(wall time)25+分钟.

修改一行代码需要6天时间?

- - InfoQ cn
修改一行代码需要6天时间,你信吗. 这篇文章的作者给我们讲了一个真实的故事. 首先我们来看一下有哪些人物:. Philip:President,会长. Lee:Operations Manager,执行经理. David:IT Director,IT总监. Judy:IT Admin,IT管理员. Ed:programmer,程序员.

光速搜索-瞬间搜索到你需要的文档、图片、音乐等文件

- Ersene - 小建の软件园
Windows自带的搜索功能和老旧的搜索方式让那些存储着海量文件的硬盘在搜索文件的时候显得力不从心,搜索速度慢,搜索时占用系统资源大这两大痛柄已经完全不能满足效率的需求,光速搜索是盛大创新院开发的一个极大提高搜索速度的桌面搜索工具,可以帮助用户快速搜索到本机所有符合搜索条件的文件,搜索结果的展示与你输入关键字的速度几乎是同步的,搜索任何文件、即时定位无须等待,极大提高工作效率.

【外刊IT评论】你真正需要的代码测试覆盖率是多少?

- Ryan - 外刊IT评论网
本文是从 How much code coverage do you really need. 我写这篇文章的起因是由于看了@unclebobmartin在微博上的一些看起来言之凿凿的话语. 给那些不认识Uncle Bob的人介绍一下——他是我们软件产业里最著名的一个专家,是《 Clean Code(代码整洁之道)》这本著作的作者,是敏捷宣言(Agile Manifesto)的签署人之一.

加入 AdSense 现需要 Google 验证你是否放置了正确的代码

- 夜の猫 - 谷奥——探寻谷歌的奥秘
以前站长加入AdSense很简单,只需要提交申请即可. 现在Google要求你在提交申请后必须将正确的AdSense代码加到自己的网页里,然后再审核你的代码是否放置对了,并放置在了合适的位置上,之后才会通过,让你加入AdSense开始赚钱. 在放置了代码还没被Google批准的这段时间,AdSense广告会完全显示一片空白.