《简约之美--软件设计之道》 第四章 未来

4.1.1 价值:这个变化能给人多大帮助。

  可能价值:这个变化有多大可能帮到用户。

  潜在价值:这个变化在对用户提供帮助的时候,将为用户提供多大帮助。

4.3 不可预测的结果

  程序员犯的最常见最严重的错误,就是在其实不知道未来的时候去预测未来。

  如果完全不考虑未来,只根据当前已知的确切信息确定所有的设计决策,那就百分之百安全了。

时间: 2024-10-25 10:54:08

《简约之美--软件设计之道》 第四章 未来的相关文章

《简约之美--软件设计之道》 之软件设计的3大误区

一.编写不必要的代码 1.不应该在真正的需求来临之前编写那些代码. 2.不要编写不必要的代码,并且要删除没有用到的代码. 二.代码难以修改 1.对未来做太多假设. 2.不仔细设计就编写代码(基本设计都不做) 3.设计程序时,应当根据你现在确切知道的需求,而不是你认为未来会出现的需求. 三.过分追求通用 1.如果你的代码很通用,它通常不能从用户的角度很好的满足规格/需求. 2.太过通用就必须要写很多不需要的代码.

《简约之美--软件设计之道》之复杂性及解决方案

一旦程序里出现了“无法解决的复杂性”,就说明设计中有些深层次的基本错误.如果问题在这个层面上无法解决,应当回过头看看产生问题的真正原因是什么. 问题复杂,解法不一定会复杂.大多数麻烦的设计问题,都可以用在纸上画图或写出来的办法找到答案. 重新设计的每个步骤都应该足够小,比如给变量取个更好的名字,或是给难懂的代码加些注释.更常见的做法是在每个步骤中都把一个复杂的部分拆分成若干个简单的部分.

2015年第10本:《简约之美,软件设计之道》

<简约之美>这本书是够简约的,100页,还有不少的留白处.现在的出版商流行<xxx之美>之风,看过了<数学之美>.<架构之美>.<数据之美>……好几本这样名字的书.这本书一开始好像在从哲学的角度来分析软件设计中什么才是最重要的,想把软件设计纳入科学的领域.书中新的内容不多,但有几个观点还是给我留下了深刻的印象,更多地是强调软件维护的重要性. “花更多的时间把程序写简单,相比一开始随意拼凑些代码再花大量的时间去理解,要快得多.” 所以需要不断地重构

软件设计之道

好程序员和差程序员的区别在于理解能力. 好程序员会把程序写的让其他程序员更加容易理解. 计算机程序是程序员的指令.计算机执行的操作. 软件设计的科学就是为软件做计划.制定决策的科学:它帮助我们做到:代码结构.程序运行速度.可读性 .编程语言. 每个写代码的人都是设计师: 任何决策都必须有单独的个人做出,而不是一群人.

HT图形组件设计之道(四)

在<HT图形组件设计之道(二)>我们展示了HT在2D图形矢量的数据绑定功能,这种机制不仅可用于2D图形,HT的通用组件甚至3D引擎都具备这种数据绑定机制,此篇我们将构建一个3D飞机模型,展示如果将数据绑定机制运用于3D模型,同时会运用到HT的动画机制,以及OBJ 3D模型加载等技术细节,正巧赶上刚发布的iOS8我们终于能将基于HT for Web开发的HTML5 3D应用跑在iOS系统了. 首选我们需要一个飞机模型,采用HT for Web构建3D模型可采用API组合各种基础模型的方式,但今天

软件设计的哲学 第五章 隐藏信息

目录 5.1 信息隐藏 5.2 信息泄漏 5.3 时间分解 5.4示例:HTTP服务器 5.5 示例:类太多 5.6 示例:HTTP参数处理 5.7 示例:HTTP响应中的默认值 5.8 隐藏在类中的信息 5.9 不要过度隐藏 5.10 结论 第四章论述了模块的深度.本章以及随后的几章将讨论创建深度模块的技术. 5.1 信息隐藏 实现深度模块最重要的技术是信息隐藏.这种技术首先由David Parnas描述.基本思想是每个模块应该封装一些知识,这些知识表示设计决策.该知识嵌入到模块的实现中,但不

软件需求分析教程:第四章详读第五章软件风险管理基础

在我们改进需求过程是要注意把理论方法付诸于实践活动是改进软件过程的核心所在,我们改进软件开发过程的两个主要目标一是解决在以前项目中或目前项目中遇到的问题,另一个是防止和避免你可能在将来的项目中遇到的问题.在软件开发过程中一定要掌握一些其他的很有价值也颇有效的需求工程方法以防止软件组织面临一些突发情况是力不从心. 需求过程是软件项目成功的关键所在,当其他项目过程变更时会对需求过程的影响下面列举了一些变更会产生影响的项目过程:制定项目计划过程(在基线确定前缩小项目范围或采用版本计划从而使项目计划在允

软件设计杂谈

\ disclaimer: 本文所讲的设计,非UI/UE的设计,单单指软件代码/功能本身在技术上的设计.UI/UE的主题请出门右转找特赞(Tezign). 在如今这个Lean/Agile横扫一切的年代,设计似乎有了被边缘化的倾向,做事的周期如此之快,似乎已容不下人们更多的思考.MVP(Minimal Viable Produce)在很多团队里演化成一个形而上的图腾,于是工程师们找到了一个完美的借口:我先做个MVP,设计的事,以后再说. 如果纯属个人玩票,有个点子,hack out还说得过去:但要

一些软件设计原则【转载】

本文一定要转,总结得非常好, 设计必读. 转自陈皓老师的 <一些软件设计的原则>,根据自己的理解调整了下顺序,少部分字句做了修改. 一个好的程序员通常由其操作技能.知识水平,经验层力和能力四个方面组成.在这里想和大家说说设计中的一些原则,我认为这些东西属于长期经验总结出来的知识.这些原则,每一个程序员都应该了解.但是请不要教条主义,在使用的时候还是要多多考虑实际情况.其实,下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我们的生活中. 根本设计原则 根本设计原则是我认为的最最基