首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > 稳定的软件
【标  题】:稳定的软件
【关键字】:
【来  源】:http://blog.csdn.net/singular_point/archive/2007/01/28/1496476.aspx

稳定的软件

软件的复杂度发展到今天的程度,每个参与软件生产的人对自己产品的质量可能多少都会有些担心。至今还没有理论能够系统的预估和保证软件产品的质量(可能永远不会发展出这样的理论,因为软件作为人类思想的固定形式,对其质量的系统化保证可能已经超出了人类认识的“极限”)。 

不过,多多少少会在软件的历史中沉淀一些有用的东西。下面的四条可能对于生产稳定的软件有极大的帮助:

  • 简洁的设计;
  • 足够的维护;
  • 主动的重构;
  • 时间的沉淀。

简洁的设计

用最直白的形式作你要做的事情。看看Unix和C在这方面留下的经典思想:如果不确定,就用蛮力(brutal force)。抛弃premature optimization。完美不是在你觉得不能往上增加东西的时候达到的,完美是在你觉得无法再减少东西的时候得到的。

足够的维护

查找软件的缺陷,尤其是缺陷的原因,是一种碰运气的活。不要指望一个工作了十年的人发现某个特定缺陷的效率“一定”比一个工作了两年的人高。普遍来说前者的概率要高于后者,但是不可能每次都是。所以保持你的软件维护者的数量,概率才能在大样本空间中起作用。当足够多的“眼球”盯着你的软件,所有的缺陷都会像放在太阳下一样。

主动的重构

保证你的软件是活的。不要仅仅依靠bug-driven,一个软件应该自己吐故纳新。

时间的沉淀

一切都需要时间。

浅析设计模式之FacoryMethod:【上一篇】
算法入门:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 函数名称 FloatToStrF
  • Ask Tom 之中英对照20051213——使用rowid定位行是否可靠
  • linux下的无盘Win98
  • 解读交换机设备的重要技术参数
  • [C#]const 和 readonly 的区别
  • apache  ~~~ .htaccess 的应用
  • Oracle 10g基础知识
  • isodump
  • IBM红皮书翻译之二:AIX 5L 5.3系统管理和支持(3) 续7
  • JAVA/JSP学习系列之二(Tomcat安装)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.