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

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. 分析NTFS文件系统得到特定文件的内容

    找某一个文件的内容(如要读取文件D:\dir\dir2\text.txt,详细过程例如以下: (1)读取分区表/分区链表信息,找到磁盘F的起始扇区. (2)读取D盘的第一个扇区(分区的BOOTSETO ...

  2. LeetCode227:Basic Calculator II

    Implement a basic calculator to evaluate a simple expression string. The expression string contains ...

  3. date命令小结

    date命令是查看日期时间的常用命令,date MMDDhhmmYY.ss(修改顺序)用来更改时间 linux时间分为系统时间和硬件时间, [root@www doc]# clock--------- ...

  4. ueditor富文本编辑的使用方法

    平时在编写上传文件,图片,视频等等这些功能的代码会很繁琐,这里我介绍一款由百度推出的CuteEditor,是一款功能非常强大,支持图片上传.文件下载和word类似的文字编辑器.对于新闻发布系统和博客之 ...

  5. 导出word文档

    string id = Request["id"];            if (string.IsNullOrEmpty(id))            {           ...

  6. execlp函数使用

    原文:http://blog.sina.com.cn/s/blog_6a1837e901011167.html execlp(从PATH 环境变量中查找文件并执行)   相关函数:   fork,ex ...

  7. Windows Phone 学习教程(一)

    http://www.cnblogs.com/webabcd/category/385852.html Windows Phone 7 教程 Windows Phone 8.1 Windows Pho ...

  8. Niagara AX之BajaScript资料哪里找

    四个步骤:(开篇:多谢陈工!) 1.Services下添加box->boxService: 2.在Apps下添加BajaScriptTutorialsApp: 3.登录用户的Web Profil ...

  9. 在virtualenv中安装libxml2和libxslt

    在使用python的工作中,需要使用到libxml2和libxslt库.原来在实际环境中已经安装完成了,但是在virtualenv中还没有,现在正在整理virtualenv的环境.下面把在virtua ...

  10. NAS4Free 安装配置 -- 目录

    淘了个DIY的NAS主机,装了3块硬盘,安装配置NAS4Free,用来存储照片.电影等资料,并兼做下载机. 现在把拆箱.安装.配置过程记录下来,供有兴趣的同学参考. NAS4Free 安装配置(一)开 ...