1、软件的任务是为了解决某一特定的问题,而软件开发者的任务却需要解决一系列问题。
2、温伯格说,我们不能要求每个人都聪明异常,能够解决所有难题;但是我们必须持续思考,因为只有如此,我们才能明白自己在做什么。的确,只有明白我们在做什么,我们或许才知道应该怎么做吧。
3、“写作本书的主要目的只有一个——启动一个新的研究领域:作为一种人类行为的程序开发,或者简而言之,程序开发心理学。”或许这是我阅读本书的一个大的前提吧,了解它的目的。
作为人类行为的程序开发
阅读程序
4、管理人员清楚:在程序开发过程中,人也是一个要素。当然,他们所关心的,往往不是如何去理解人的这种要素,而是如何去消除这一要素。
5、程序开发也是一种写作的形式,它和其他的写作形式没有什么两样。要学习写作,最直接的途径就是提笔写作。的确,很符合我们现在的状况,提高编程能力的唯一最实用的方法,无疑就是去编程,多编程。
6、阅读代码,就要不断问自己同一个问题:“这段代码在这里有什么用?”这是我们读懂一段代码最好的办法吧。
7、我们要仔细体会机器的局限和语言的局限、程序员的局限。
8、由于未能通晓其使用的计算机、程序语言或他们自己,程序员们到底写了多少冗余的代码?的确我们无法避免这个事实,但应努力去完善它。
9、之所以要研究人们编写程序的过程,最重要的目的无非是为了提高程序的效率、使之更加紧凑、更加廉价或是更加易于理解。
10、高明的程序员善于通过演练和审查过程来发现有价值的东西,而那些自以为是的人却不是这样。正因如此,和司空见惯的情况一样,高手越来越高,低手越来越低。
优秀程序的要素:技术规范、日程计划、适应性、效率
11、在对程序的所有要求中,首当其冲的要求是它必须正确。
12、即使不考虑符合技术规范的问题,效率的问题仍然不是最重要的。程序开发中经常遇到的一个问题是要符合开发的日程计划,推迟完成的程序常常没有意义。
13、一个系统对某一特定环境的适应性越强,它适应新环境的能力也就越弱。
14、效率并不总能用计算机的运行时间来衡量——因为经常需要通过牺牲计算机的运行时间,来换取程序运行前后需要的时间。
15、在计算机运行时间与人工时间之间折衷,“因此我们期望,随着岁月的推移,我们能够听到的关于效率的言论会越来越少——而与此同时,却越来越多的强调有效性。”
如何研究程序设计:自省、观察、实验、心理学测量、利用行为科学中的数据
16、如果不去进行尝试和努力,我们将永远不可能成功。 “重要的是不要停止怀疑”
17、如果离开自省,调查就不可能获得任何成果;而离开了广泛的调查,自省的价值也很难在应用中令人信服。
18、“参与式观察法”,融入到被观察的文化氛围之中而不会被察觉;与此同时,该文化得以继续运转,仿佛没有任何外人在场一样。
19、处理观察到的庞大数据需要付出高昂的代价,为了降低处理的代价,一个办法就是设计一些实验。
20、在任何一个刚刚起步的领域,我们都可能会犯这样那样的错误,然而或许在其中,最大的错误就是因为过于谨小慎微而裹足不前。虽然我们需要尽可能的循规蹈矩,但是更重要的却是要敢于进行试验;只要敢于进行试验,哪怕结果是失败的,也要比什么都不做更好。
21、来自不同个体的差异性,依然是破坏项目可预测性的致命因素。

程序开发心理学阅读笔记——第I篇的更多相关文章

  1. 程序开发心理学阅读笔记——第II篇

    作为社会行为的软件开发程序开发组->程序开发团队->程序开发项目1.要判断程序员的某个集体是否构成一支团队,要看其中的成员以何种方式相互协作,以共同开发软件产品.2.健康的团队要始终能够保 ...

  2. 还有这种书,程序开发心理学(豆瓣) - 豆瓣读书,转载自:https://book.douban.com/subject/1141154/

    登录/注册 下载豆瓣客户端 豆瓣 读书 电影 音乐 同城 小组 阅读 FM 时间 豆品 更多 豆瓣读书   购书单 电子图书 豆瓣书店 2018年度榜单 2018书影音报告 购物车 程序开发心理学 作 ...

  3. 微信小程序开发:学习笔记[7]——理解小程序的宿主环境

    微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器

  4. 微信小程序开发:学习笔记[5]——JavaScript脚本

    微信小程序开发:学习笔记[5]——JavaScript脚本 快速开始 介绍 小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来 ...

  5. 微信小程序开发:学习笔记[4]——样式布局

    微信小程序开发:学习笔记[4]——样式布局 Flex布局 新的布局方式 在小程序开发中,我们需要考虑各种尺寸终端设备上的适配.在传统网页开发,我们用的是盒模型,通过display:inline | b ...

  6. 微信小程序开发:学习笔记[3]——WXSS样式

    微信小程序开发:学习笔记[3]——WXSS样式 快速开始 介绍 WXSS(WeiXin Style Sheets)是一套用于小程序的样式语言,用于描述WXML的组件样式,也就是视觉上的效果. WXSS ...

  7. 微信小程序开发:学习笔记[2]——WXML模板

    微信小程序开发:学习笔记[2]——WXML模板 快速开始 介绍 WXML 全称是 WeiXin Markup Language,是小程序框架设计的一套标签语言,结合小程序的基础组件.事件系统,可以构建 ...

  8. 微信小程序开发:学习笔记[1]——Hello World

    微信小程序开发:学习笔记[1]——Hello World 快速开始 1.前往微信公众平台下载微信开发者工具. 地址:https://mp.weixin.qq.com/debug/wxadoc/dev/ ...

  9. 微信小程序开发:学习笔记[9]——本地数据缓存

    微信小程序开发:学习笔记[9]——本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在 ...

随机推荐

  1. 2014年3月1日 Start && Unique Binary Search Trees

    早上和面试官聊天, 才发现自己的基础下降的有点厉害, 过去那个飘逸写程序的小青年, 如今有点走下坡路了. 可惜我不服,所以要开始做题,把水平恢复上来,能力是最重要的. 最近在做LeetCodeOJ的题 ...

  2. node中的流程控制中,co,thunkify为什么return callback()可以做到流程控制?

    前言 我在学习generator ,yield ,co,thunkify的时候,有许多费解的地方,经过了许多的实践,也慢慢学会用,慢慢的理解,前一阵子有个其他项目的同事过来我们项目组学习node,发现 ...

  3. c#自定义进度条

    有些时候我们做的程序需要进度条,而vs提供的控件不是我们想要的.先看效果图:       进度条闪烁动画,当然背景可设为Transparent 之前想手绘进度条线条的,结果控件运行时会闪烁,所以直接用 ...

  4. 在Linux命令行窗口中,怎么向上翻页?

    解决方法:本机环境:vmware linux Redhat9.0版本 使用:Shift + PageUp 和 Shift + PageDown向上和向下翻页

  5. Asp.net MVC4 Knockoutjs BootStrap Ace NinJect Jqgrid sqlserver2008

    Asp.net MVC4 Knockoutjs  BootStrap Ace NinJect  Jqgrid sqlserver2008

  6. mac 安装lua并配置Subline Text2 的lua开发环境

    1 .下载相应的lua安装包 方法 一 Mointain Lion - Lua 5.2.1 Lion - Lua 5.2.1 Snow Leopard - Lua 5.2.1 Lua 将默认安装到 / ...

  7. BufferedReader,缓冲输入字符流

    1. /** * 输入字符流: * --------|Reader 所有输入字符流的基类.抽象类 * -----------|FileReader 读取文件字符串的输入字符流. * --------- ...

  8. List集合实战总结

    //构造被分隔的集合 List<object> list = new List<object>(); for (int i = 0; i <= 100; i++) { l ...

  9. Oracle并行事务回滚相关参数及视图

    /******相关参数****/fast_start_parallel_rollback1.取值有3种:false,low,high2.各值含义:false  ---禁用并行回滚功能          ...

  10. N进制数组转换成正整数

    给定一个任意长度的数组,其中的元素按照一定的进制(N进制)来转换成正整数 //把数组中的元素按照N进制转换成为正整数 #include <stdio.h> #include <std ...