zoukankan      html  css  js  c++  java
  • 《简约之美:软件设计之道》总结

    本书讨论了软件设计的一些规则,这些规则如下:

    1. 软件的目的是帮助他人

    2. 软件设计的方程公式:
      D = (Vn + Vf )/ (Ei + Em)
      其中:

      • D表示变化的何以程度(可行性);
      • Vn表示当前价值;
      • Vf表示未来价值;
      • Ei表示开发成本
      • Em描述维护成本

      这是软件设计的主要法则。随着时间的推移,这个方程式简化为:
      D = Vf / Vm
      也就是说,相比较降低开发成本,更重要的是降低维护成本。

    开发软件的目的不是为了赚钱,也不是为了炫技,是为了帮助他人。只有这样你才会全心全意的为用户着想,站在用户的角度考虑问题。为了能持续的帮助他人,需要降低软件的开发和维护成本。相比降低开发成本,降低维护成本更重要,维护成本随着时间的推移会逐渐的增加。

    变化规律:程序存在的时间越久,他的某个部分需要变化的可能性越大。

    缺陷定律:程序出现缺陷的可能性,正比于你对它修改的程度。

    简洁定律:软件的任何一部分的维护难度,正比于该本分的简洁程度。

    测试定律:你对软件行为的了解程度,等于你真正测试它的程度。

    没有经过严格测试的软件

    目前公司开发的所有项目,都是开发人员根据项目经理的需求,自己进行开发,有些项目甚至没有原型,开发人员只能根据自己的理解来编写代码。结果可想而知,完成的功能经常不完全是所需要完全的功能,这就造成开发人员频繁的去改动代码,一来公司的大部分的开发人员都是新手,编写的代码千奇百怪,有些甚至是直接从网上复制过来的,要排版没版本,代码写的一团糟。经过多次修改后,代码完全失控了,到处都是无用的代码。更可笑的是,公司研发编写的底层代码,也是一个尿性,代码极其臃肿,模块就有二三十个,每次开启一个新的项目,都是把研发部写的底座拿过去搭建环境,在这个的基础上进行开发,原来的底层都这么烂了,编写的代码还能好到哪里去去呀!!!

    而且不管是这些在建的项目,还是研发部的底层代码,都是没有经过严格测试的,没有单元测试。所谓的测试,也只是派人在界面上去点一点,测试的情况完全不理想。经常有些功能,在使用的时候发现,还有很多的问题。关键是这些人不是专业的测试,他们只是实施人员。。。

    说起来都是泪啊,最终苦的还是开发,都是开发的锅。。。

  • 相关阅读:
    【设计模式】适配器模式
    【设计模式】单例模式
    MSScriptControl详解(可实现在C#等语言中调用JAVASCRIPT代码)
    一:简介
    你是否经常想写点什么?
    SQL server2008无法收缩日志
    SqlServer中把结果集放到到临时表的方法(转)
    (转)64位系统安装Delphi7提示Can’t load package:dclite70.bpl 以及 提示地址错误
    太有用了,所以转:Delphi下16进制位图数据转位图
    C# 使用access,报错:标准表达式中数据类型不匹配
  • 原文地址:https://www.cnblogs.com/zhangfengxian/p/10645287.html
Copyright © 2011-2022 走看看