本系列的文档都是我读书后的个人纪要,如想了解更多相关内容,请购买正版物。对应的图书可以从我的个人图书列表里找寻:个人毕业后图书列表

1、  每个写代码的人都是设计师,团队里每个人都有责任保证自己的代码有良好的设计。大部分的程序员都有不错的想法,要尽可能多的聆听他们的建议和反馈,但是决策必须有单独的个人来进行下,不可一群人一起做决策。

2、  软件设计的推动力,全部的软件都有着相同的目标:帮助人。在做软件有关的决策时指导法则就是判断能提供什么样的帮助(帮助有很多种,帮大忙,帮小忙,帮很多人,帮少数人);紧要程度、优先顺序也按照这个标准来裁决。

软件的目标:保证软件能提供尽可能多的帮助;保证软件能持续提供尽可能多的帮助;使程序能尽可能简单的开发与维护、这样才能第一项与第二项得以实现。

3、设计的可行性公式  可行性=(当前价值+未来价值)/(实现成本+维护成本),随着项目周期的拉长,维护成本被不停的拉高。

4、软件设计的三大误区:编写不必要的代码;代码难以维护(避免重复);过分的追求通用性。建议采取渐进式的设计与开发,保证每个阶段都做最容易的事情。

5、任何变化都可能带来缺陷,永远不要修正东西,除非他真的有问题,而且有证据表明问题确实存在。

6、代码的简洁特性:良好的可读性;良好的命名规则(核心思想是见名知意);良好且最新的注释。

7、复杂性的控制:

7.1、能够帮人的软件应该坚守已经确定的用途,只要完善这些目标就可以获得成功。

7.2、由少量精干人员组成的团队更容易成功。

7.3、可以采取生存潜力;互通性;对品质的重视度。

7.4、如果复杂度太高,导致维护成本无法hold不住,可以考虑推到重来。但要做足准备:重来比什么硬撑着强;有时间有能力做重来。

[置顶] 软件设计之道_读书纪要.doc的更多相关文章

  1. [置顶] 软件架构师的12项修炼_读书纪要_P3商务技能修炼

    本系列的文章是我读书后的个人纪要(书摘),仅代表个人观点.如想了解更多相关内容,请购买正版物,支持原书作者.对应的图书可以从我的个人图书列表里找寻:个人毕业后图书列表 本书勾勒了软件架构师的必备技能的 ...

  2. [置顶] PHP开发实战权威指南-读书总结

    从今年开始,断断续续学习PHP已经有4个月了. 最初,认真学习PHP几天,就弄WordPress搭建了一个个人博客,这也符合技术人的实践理念. 最近,重温PHP开发实战权威指南,做点总结,整理下自己学 ...

  3. [置顶] Objective-C编程之道iOS设计模式单例解析(2)

    上一篇文章,提到了单例子类化的问题.正好最近,我在Stack Overflow看见一位国外高人,也谈及了单例子类化的一些内容.思考之后,总结了一些内容.其大意是利用NSDirectory存储不同子类的 ...

  4. [置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁

    [置顶]Win2012R2的一个Bug安装群集后可能引发的软件崩溃问题及相应补丁 如标题,笔者查阅资料发现微软声称安装故障转角色后就可能发生上述描述问题,但不止于SSMS崩溃.建议使用win2012R ...

  5. [置顶] Web用户的身份验证及WebApi权限验证流程的设计和实现 (不是Token驗證!!!不是Token驗證!!!都是基於用户身份的票据信息驗證!!!)

     转发 http://blog.csdn.net/besley/article/details/8516894 不是Token驗證!!!不是Token驗證!!!都是基於用户身份的票据信息驗證!!! [ ...

  6. 019 [工具软件]窗体置顶 DeskPins

    DeskPins:Windows下将任何窗体置顶的工具 官方主页:https://efotinis.neocities.org/deskpins/index.html 官方下载的是一个exe安装包,用 ...

  7. 66.为什么有时候在ISE软件中,顶层文件不能置顶?

    什么时候回出现顶层文件不能置顶呢?嘿嘿,肯定是工程中有错误啦. 如果你的顶层文件包含了include文件,这个时候就会出现这种情况了.但好像出现在刚新建工程的时候,因为当顶层文件不包括Include文 ...

  8. 《编写高质量代码--Web前端开发修炼之道》读书笔记

    前言 这两周参加公司的新项目,采用封闭式开发(项目成员在会议室里开发),晚上加班到很晚,所以没时间和精力写原创博客了,今天就分享下这篇<编写高质量代码--Web前端开发修炼之道>读书笔记吧 ...

  9. WPF:窗体置顶

    1.设置窗体TopMost属性 private DispatcherTimer timer; public Window1() { InitializeComponent(); Loaded += n ...

随机推荐

  1. [转]轻量级 Java Web 框架架构设计

    工作闲暇之余,我想设计并开发一款轻量级 Java Web 框架,看看能否取代目前最为流行的而又越来越重的 Spring.Hibernate 等框架.请原谅在下的大胆行为与不自量力,本人不是为了重造轮子 ...

  2. yii使用寻呼功能

    CDbCriteria这是类包使用,包是yii自带专门用来处理类似分类这种功能的. 而我们使用yii框架然后调用这种方法会起到事半功倍的效果,会发现使用这个可以节省非常多的时间.让你高速的使用PHP中 ...

  3. 连载:面向对象葵花宝典:思想、技巧与实践(33) - ISP原则

     ISP,Interface Segregation Principle,中文翻译为"接口隔离原则". 和DIP原则一样,ISP原则也是大名鼎鼎的Martin大师提出来的,他在19 ...

  4. overflow清楚浮动 + 去掉li标签的小圆点

    原文链接:http://blog.163.com/qqabc20082006@126/blog/static/22928525201031211212955/ 测试用例: <!DOCTYPE h ...

  5. 看到的一些js小知识

    向数组结尾添加元素高效方法: var arr = [1,2,3]; arr[arr.length] = 4 头部: var a = [1,2,3]; a.concat(4,5); // 1,2,3,4 ...

  6. session问题和JSP

    session问题和JSP 07. 五 / J2EE / 没有评论   一.Session开发中遇到的问题1.内存中的Session非常多,怎么办?2.用户在购物中.服务器停掉了该web应用(或者重新 ...

  7. FloatingActionButton 完全解析[Design Support Library(2)]

    一.简单使用 布局: <android.support.design.widget.FloatingActionButton android:layout_width="wrap_co ...

  8. [转]设置MS Office Word for mac的默认显示比例

    由于mac os的分辨率比较大,在PC上显示正常的word文档(显示比例100%),在mac下打开会很小,需要经常调整显示比例,如调到125%.130%或150%,可以通过下面方法来设置默认显示比例, ...

  9. php 数组Array 删除指定键名值

    if(array_key_exists('keyname',$array)){ //检查数组中此键名是否存在: unset($array['keyname']); //删除后位置仍然保留,但清空了键名 ...

  10. nginx之如何获取真实客户端ip

    nginx的配置文件中日志格式加入$http_x_forwarded_for--> log_format access '$remote_addr - $remote_user [$time_l ...