开发文档和程序注释

王志勇 发表于 2013年03月17日 11:06

我最近在开发一个全新的程序,工单系统(客服问答系统),第一次编写工单系统,后来发现还是要比想象中复杂不少,已经花了10天左右的时间,马上快要完工了。我写程序习惯于追求最简单的算法,然后使用最简洁的编写格式,完成需要的功能。然而简洁和易读,常常会不可兼得。开发文档和程序注释,实际上只是为其他的开发人员而编写。开发文档和程序注释,它们的区别是开发文档较具体,程序注释只是针对部分语句进行注释。

电脑软件/网站的程序设计和电路设计/IC芯片设计,我发现有很多十分相似的地方,设计的步骤和原理相似,都是像建一个楼房一样把各个原料累加起来、把各个部分连接起来。但不同的是,程序设计完成的成品,是运行在电脑当中,没有三维空间中的实物;电路设计/IC芯片设计完成的成品,在三维空间中可以看到实物。电路设计比如电脑主板、手机主板、硬盘电路、显卡、MP3主板、解码板的电路设计,等等。

编写一个项目的完整的开发文档,至少要花费开发时3~10倍,甚至20倍以上的时间。所以一般我们是看不到完整的开发文档的,因为没有人写。即使写出来了,公开发布,也只有极少数的人能够完全读懂,因为它是一个工程。任何人要完全读懂一个工程,都是要花费相当多的时间。比如开发一个功能较完整的Blog程序需要花费1000小时以上(我已经完成过这样的作品),合3个多月;那么编写与它相对应的完整的开发文档,篇幅要远远大于程序本身,所花的时间至少是1000小时乘以3~20倍,至少要用9个月到7年的时间才能完成这样的开发文档,这并不夸张,现实就是如此。

不要小看一个工单系统、短消息系统、邮件系统、Blog系统、新闻系统、论坛系统,这些系统都是对数据进行处理,但在开发当中常常会遇到大量的逻辑运算、统筹。当需要实现某个功能时,会做海量的测试,几乎每个步骤都会做测试,完成一个功能至少会经历几十次、上百次、几百次的测试,出错时,运行平台会报错。那么完成一个程序项目的开发,至少会经历几千次、几万次、几十万次的测试。因此,完成的程序成品,本身是一件十分精密的仪器

任何程序都可能不是完美的,所以需要进行升级。同样,电脑主板、手机主板、IC芯片等等的电路设计,也可能不是完美的。即使是一流的公司开发的程序,也可能不是完美的。都是平等的,随时都可能存在需要改进的地方,永无止境。

下图是我编写的工单系统里的一段程序截图,PHP语言。它的功能是,在工单系统的首页有已回复、处理中、已处理的3类链接,当用户发表新帖、或者回帖,这个帖会进入到“处理中”的分类;当客服回帖时,这个帖会进入到“已回复”的分类;用户读过客服的回复,这个帖会进入到“已处理”的分类。并且在工单系统首页这3个分类的总帖数,总和为30。当超过30个时,自动去掉“已处理”的最后一个帖子。由于时间的关系,这个截图只能用作欣赏,就像一个IC芯片一样无法一下子解释清楚,这个图就是我的真实的生活照,它是对上述这3类链接进行处理。如果要把这段程序完全解释清楚,至少要3-5篇的博客篇幅。写程序,很累很累很累,连续一两个月每天眼睛盯着电脑屏幕10个小时的生活是难以想象的。但它的乐趣在于能够实现你想要的功能,只是要花难以估量的时间。不写程序不行,它是我的饭碗和工作。

0条评论:

发表评论:
名字: (*必填)
博客: (可省,仅限于Blog地址)
验证码: p48u58r68e78 (*必填)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

文章分类 Category:
真相与UFO Truth and UFO
编程 Program
PHP
Blog的发展 Development
为什么写博客 W-do we Blog
互联网 Internet
BBS社区研究 Community
QQ研究 QQ Research

置顶的文章:
程序开发的门槛儿
为什么不能夸孩子调皮?
我的3种博客写作方法
最大的公益事业是UFO
再谈四维空间
开发文档和程序注释
Arsue Blog程序的扩展
独立微博开发之设想

近期的主题:
2017.7第2篇
auiou.com今天换上了KVM
CentOS, Debian, Ubuntu三种VPS系统的LAMP属性小结
Debian 6.0和Ubuntu 14.04新装机的参数记录
Linux VPS的速度优化
Nginx与.htaccess
CentOS 6新装机的参数记录
auiou.com的VPS的内存占用测试
2016年8月第一帖
不喜欢锻炼身体的朋友
看《第五空间》
看《爱情公寓》的一点感想
生命的意义在于每一天都是人生的开始
安卓机顶盒收到小记
人生中最可怕的事情是拖延
不能贪吃/不能贪喝/不能贪凉
“世面”和人生意义
计划推出一个重要的“网络存档”(网络记事本)快速小程序
最近几个月博客更新减缓的原因
汽车越来越多
编写完成了清爽的贴吧浏览程序/贴吧占用内存测试
猫/无线路由器/瑞银无线网卡 最简单有效的散热方法
最近录制的歌
家用无线路由器选购的一些建议
网络电视机顶盒选购的一些建议
无线路由器当作无线交换机实例
2013-08-08:人生的意义&谨言慎行
怎样对治重症的拖沓的毛病?
磊科NW336无线网卡使用感受
腾达311R无线路由器频繁掉线解决一例(其它品牌和型号可能也适用)
网络电视杰科T1使用感受(杰科T1/T2/T3怎么样?)
人为什么会无聊?无聊的时候该做什么?
2013-07-14:看不见的全息摄像机
想法:2013-07-12
有趣的植物3:景天科多肉植物
有趣的植物2:米邦塔食用仙人掌
最有趣的植物
想法:2013-06-30
好好地修心
中国现代和未来的黑人问题/广州黑人
KVM主机竟然死机
想法:2013-06-13
行人的过错
为什么不能夸孩子调皮?/怎样教出一个好孩子?
打招呼的一瞬间
欢迎哥们儿们加我的QQ
好心一定会有好报
拜金女的下场都是不好的
最近很忙,写作的思路断了
狂做好事,消除烦恼
最大的公益事业是UFO/怎样做UFO研究?
  

王志勇:程序设计者。
1980-09-26 (37周岁)

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏 | Arsue官方Blog
Gratitude | Time | Auciou
matnue | aucist | Taimt | Caimt | ac315 | Arsue | IC Search | TDNote | HKANS | aroat | Vaimt Panel | txfor | 网树 | cdfor | aufirm | ixnes | AnyDiary | Tuarm | Tovate | Urtal | coumit | cersta | tratom54.91.171.137 2017-12-12_18:54

Blog存档 Archives

2013年08月(9)
2013年07月(6)
2013年06月(7)
2013年05月(22)
2013年04月(17)
2013年03月(20)
2013年02月(21)
2013年01月(6)
2012年12月(3)
2012年08月(8)
2012年07月(4)
2012年06月(4)
2012年05月(6)
2012年04月(13)
2012年03月(11)
2012年01月(7)
2011年10月(8)
2011年09月(4)
2011年08月(2)
2011年06月(2)
2011年05月(6)
2011年04月(10)
2011年03月(16)
2011年02月(16)
2011年01月(15)
2010年12月(12)
2010年11月(9)
2010年10月(3)
2010年05月(4)
2010年01月(7)
2009年12月(10)
2009年11月(4)
2009年10月(8)
2009年09月(24)
2009年08月(20)
2009年07月(6)
2009年06月(11)
2009年05月(16)
2009年04月(20)
2009年03月(29)
2009年02月(18)
2009年01月(15)
2008年12月(17)
2008年11月(10)
2008年10月(13)
2008年09月(8)
2008年08月(4)
2008年07月(5)
2008年06月(9)
2008年05月(12)
2008年04月(15)
2008年03月(26)
2008年02月(22)
2008年01月(29)
2007年12月(30)
2007年11月(28)
2007年10月(30)
2007年09月(8)
2007年08月(8)
2007年07月(21)
2007年06月(23)
2007年05月(31)
2007年04月(34)
2007年03月(29)
2007年02月(18)
2007年01月(41)
2006年12月(23)
2006年11月(10)
2006年10月(10)
2006年09月(29)
2006年08月(33)
2006年07月(17)
2006年06月(30)
2006年05月(4)
2006年01月(3)
2005年09月(4)


Copyright © 2006-2017 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue