编程中的价值观:沟通,简单,灵活
沟通:代码的沟通体现在人和计算机的沟通,但是,更重要的是人之间的沟通,包括,和阅读这段代码的同事,一段时间后的自己。
简单:软件设计的首要使命是应对复杂性。作者的思路是:
1、去掉多余的复杂性。多余的复杂性应该是设计和编程产生的垃圾,比如:一个临时的方案,被抛弃的类,成员,方法,变量,函数等。垃圾要及时清除。
2、代码:去除不提供信息的代码;设计:除去无关的因素;需求:找出本质的概念。
当沟通和简单性发生冲突时,优先考虑沟通。
对于简单,还有一点,就是设计方案是,尽量选择简单的方案,对于机巧,精密的方案要保持一定警惕性。因为这些方案可能会破坏简单性。
灵活性:为了灵活性而进行预先设计,得出的灵活性的价值可能达不到预期。
尽量选择提高灵活性并能够带来及时效益的方案。收效缓慢的灵活性,则需要进行一些深思熟虑。
灵活性可能会提供复杂性。
模式是编程的遇到的共性的问题,而不是特性问题——比如,不同领域问题(单个领域内也有他自己的模式)。
这本书的模式,主要讲的是编程过程中遇到的纯技术的问题。比如,一个循环如何来写。
每个模式都应对一组编程是的约束。
模式通过帮助人们做决定来帮助人们编程,也就是说,它更快速,更节约,更省力的解决了人们常见的编程问题,以使人的注意力可以专注于独一无二,有创造性的问题。
<!--EndFragment-->
<!--EndFragment-->
分享到:
相关推荐
学习linux的笔记,发到博文了,鉴于文档方便保存和查阅,发出来,免费的哈 博文来自http://blog.csdn.net/wklken,共12篇,类似手册,可快速练习和查阅,容易上手 文档列表: Linux笔记——vim常用操作及扩展补充...
深度学习:未来教育的目标之一——读《极富空间:新教育学如何实现深度学习》.pdf
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
数据库——甲骨文学习笔记
良葛格————JavaJDK5.0学良葛格————JavaJDK5.0学习笔记PDF.rar习笔记PDF.rar良葛格良葛格————JavaJDK5.0学习笔记PDF.rar————JavaJDK5.0学习笔记PDF.rar良葛格————JavaJDK5.0学习笔记PDF.rar良...
hadoop实战——初级部分学习笔记 2
Java 基础 第2阶段:面向对象编程——尚硅谷学习笔记(含面试题) 2023年
C++基础的学习笔记(其中的代码源件可私信留言) C++中的空头程序 使用C++书写hello world 学习变量 学习常量 标识符命名规则 数据类型 运算符 程序流程结构 数组 函数 指针 结构体
PAT基础知识——STL之pair&tuple定义用法初始化:使用大括号直接对first,second赋值查询用途替换二元结构体,初始化、获取元素值更方便用于m
语法树学习笔记——数据库实现原理.doc
SSM 框架整合教程:二、Spring——尚硅谷学习笔记 2022 年
SSM 框架整合教程:一、MyBatis——尚硅谷学习笔记 2022 年
SSM 框架整合教程:三、SpringMVC——尚硅谷学习笔记 2022 年
——————————————————————————————————————————————
在北大青鸟学习时第一期的笔记,包括基础应用、java、C#基础、SQL Server基础 、HTML基础等等
Solidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——随形变化.docxSolidworks学习笔记——...
编解码学习笔记(三):Mpeg系列——Mpeg 1和Mpeg 2 10 编解码学习笔记(四):Mpeg系列——Mpeg 4 20 编解码学习笔记(五):Mpeg系列——AAC音频 29 编解码学习笔记(六):H.26x系列 31 编解码学习笔记(七):...
Oracle学习笔记——day02 学习的好东西 Oracle学习笔记——day02
Oracle学习笔记——day04 学习的好东西 Oracle学习笔记——day04
Oracle学习笔记——day05 学习的好东西 Oracle学习笔记——day05