《设计原本》读书笔记

  • 协作的成本,包括
    • 分割成本
    • 学习与教授成本
    • 设计中的沟通成本
    • 变更控制
  • 两人团队很神奇

典型的两人设计协作机制看起来似乎与多人设计和单人设计不同。

两人互动产生的思想是原来的两倍,原创性思想也是原来的两倍,同时也增加了快乐,导致试验对象去尝试更困难的任务。

  • 干净的接口

在远程设计的组建之间定义干净的接口是很难的工作,不断的问答和解释定义的语义是必须的。必须进行变更,控制变更和充分沟通。

  • 电话费电子邮件用户知道它的危害,它是仓促的文字,没有语音语调的变化,没有立即的反馈。即时消息是电话的糟糕替代品。

电话加上共享文档,比单独使用其中一项要强大的多。

  • 大量的经验分析所导致的必然结果就是设计过程中会出现过多的迭代。
  • “真理来源于错误,而非混乱。” ——培根
  • 缜密的猜测胜于无言的假设。
  • 明确的假设即便是错误的要好于含糊的。
  • 在开始设计时,你需要确定到底需要哪些东西而非如何得到他们。
  • 设计中最难的地方在于明确到底要设计什么。
  • 如果任务最初看起来没有约束,首先就需要仔细的思考想要的用户与用例模型到底是什么。这样就会发现一些约束了,这对于设计者与用户来说都是一件好事。
  • 何谓优雅?
  • 简约。优雅需要简约。程序语言的存在目的是为了简化程序员编写与阅读代码的工作量,绝不能成为谜一样的东西。
  • 结构清晰。人类与自然语言可以看作是用来满足实际需求的一种融合,但它并不简约。这种冗余的是人类语言的习语,就像编程语言一样。
  • 技术设计中的优雅,要求设计的基本结构性概念要易于为人所理解,否则逻辑就应该是直接且易于解释的。
  • 隐喻。优雅和可理解性都是通过使用熟悉且简单的隐喻实现的,尤其在设计对象的用户界面上更是如此。
  • 什么是好的计算机架构
  • 好的架构应该是直接的,人们掌握了部分系统后就可以推测出其它部分。包括处理的一致性。
  • 正交性。不要将独立的东西链接起来。正交函数的一个变化对集合中其它任何函数不应该产生显著影响。
  • 适宜性。不要引入无形的东西。满足必须的功能是适合的功能。
  • 普遍性。不要限制固有的东西。普遍性就是通过某种功能实现众多结果的能力。实现普遍性的最常见的方式就是开放式结尾,完整的功能集,分解功能为正交组件以及使用组合。
  • 在某种程度上,一致性会带来清晰性,清晰性会带来情趣。
  • 风格是一套不同,重复的微观决策,即使上下文可能不同,但每一个决策的制定都是采取了相同的方式。
  • 如何获得良好的风格
  • 有目的的去学习其它设计者的风格。这会强迫你对细节进行缜密的思考并明确想法。
  • 做有意识的判断。为你所喜欢的风格作出评价与原因。
  • 练习,练习,还是练习。
  • 修正,看看不一致的风格。
  • 仔细选择设计者。
  • 良好的设计者是自顶向下的。就像先有提纲再进行写作一样。
  • 在研究设计先例时,关键要假定它的能力。正确的问题是 "什么导致了一位聪明的设计这么做"而不是"为什么他干了这样一件蠢事"
  • 结果评估的步骤
  • 稳定性 对计算机体系结构而言,稳定性的一种定义应该是"持久性"。
  • 有用性 竞争力,各个市场的分析。
  • 闪光点
  • 在项目安排中要流出充裕的设计时间。
  • 对于全新的设计,而非后续产品而言,从一开始就要将设计工作的一部分投入在性能以及其它必要属性指标的建立上,并做好成本代理估算。
  • 市场预测的方法论是为后续产品,而不是为全新的产品所设计的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

Java程序员如何提高自己的编程能力

编程对于一部分人来说是一项工作,但对于真正喜欢编程的人来说,不仅仅是一种知识,更重要的是一门手艺。其实大部分人学习编程都希望自己的工作生活变得更好。既然明白了编...

37990
来自专栏机器学习AI算法工程

机器学习编程语言之争,Python夺魁

究竟哪种语言最适合机器学习成为争论不休的话题。近日,密西根州立大学的博士生 Sebastian Raschka 再次发起了机器学习编程语言之争(http://s...

350120
来自专栏华章科技

让大数据为你服务,你需要做些什么

原文标题:What You Need To Do To Get Big Data To Work For You

9120
来自专栏Android 研究

PMI-ACP 敏捷项目管理——模拟试题4

1、在第五次sprint审查期间,团队获得产品负责人对所有功能的签署同意。但是,产品负责人注意到在第二次sprint期间开发和验收两个功能不能正常工作。随着新功...

73220
来自专栏非著名程序员

Python 如何快速入门?

在过去的几年里 Python 一直在快速增长,尤其是在去年跃居为排名第一的编程语言。在 Stack Ovehrflow 上,关于 Python 相关问题的访问数...

39160
来自专栏SDNLAB

NFV主导向开放平台的演进

近日,有调查显示网络功能虚拟化(NFV)和软件定义网络(SDN)平台是电信和网络设备供应商关注的重点,该调查同时表明网络正在向开放平台和开放的软件体系结构转变。...

35380
来自专栏PPV课数据科学社区

【学习】一文读懂R语言 R可以做所有SAS做的事情

以下5种语言NODE、LUA、Python、Ruby、R ,哪个在2014年的应用前景会更好? 我毫不犹豫的选择R。R不仅是2014...

30350
来自专栏Java 技术分享

第一次面试且失败的经历

74360
来自专栏程序员的知识天地

专科程序员含泪谈及与本科程序员的差距!五年心酸历程,悔不当初

坦白来讲在实际项目开发过程中,谁会关心你是专科还是本科,对于企业来讲谁的水平高就用谁,技术领域对于学历区分不是很明显,当然这只是针对私企来讲,国有企业的程序员可...

2.2K10
来自专栏web前端教室

很久也没有学会JavaScript的感觉?

看了标题,相信很多同学都有类似的感觉。就是学了很久的JS了,不管是基于工作需要,还是兴趣爱好;是自学还是去培训班,学了出来之后,多少会一些JS语法,理解了一些编...

20370

扫码关注云+社区

领取腾讯云代金券