程序开发心理学阅读笔记——第I篇

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

时间: 2024-12-10 12:53:48

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

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

作为社会行为的软件开发程序开发组->程序开发团队->程序开发项目1.要判断程序员的某个集体是否构成一支团队,要看其中的成员以何种方式相互协作,以共同开发软件产品.2.健康的团队要始终能够保持自我的生命活力.正是由于这种特点,即使有成员中途离队,也可以建立并维护一支具有共同价值观与习惯的新团队. 程序开发组3.非正规的机制到处存在,而且如果你还没有真正搞清楚其规律,就企图改变什么,那将会是十分危险的——你可能会把有些操作系统搞得一团糟:同时,任何替代方案都需要付出更高昂的代价.4.正如自动电梯破

程序开发心理学阅读笔记之三

就程序开发心理学而言,每个命题都有可能成为一条“定律”.仅仅凭借一个关于自省的例子,还远不足以作为支持其成为定律的证据.为了获得一条“定律”,我们必须对其原理进行研究,以便对其应用范围做一界定 ---- 因为,每条定律都会受到这种限制.确实,通常对这种限定的了解,较之对定律本身的了解更重要:而只有对大量的案例进行调查分析之后,才有可能明确这些限定. 我们要观察人们到底在做什么,而不是他们自认为在做什么. 需要注意的问题一:观察只能告诉我们人们确实在做或做过的事,而不一定就是他们能做的全部.因此,

程序开发心理学阅读笔记——结束篇

作为个人行为的程序开发及程序开发工具 程序开发的差异->人格因素->智力水平以及问题求解能力->积极性.培训以及实验1.我们所关注的个体偏差,可以进一步地按照一般性的方式被划分为“个性”.“智力”.以及“培训”或者“经验”.2.如果需要衡量程序员的绩效.语言的性能.操作系统的性能,或者其他方面,我们首先需要确定的是:所有人正在为之努力的,是同一个问题.3.要把定义说明转换成最中的程序,需要经过各种不同的工作:而为了完成这些不同的工作,就必须要有各种类型的人才.4.程序开发并不是一个一成不

程序开发心理学阅读笔记之二

程序被写成什么样子,取决于众多的因素:一旦我们真的阅读了程序,就会发现无论是否必要,其中这些代码之所以如此编写,有的是由于计算机的局限,有的是由于程序语言的局限,有的是由于程序员的局限,有的是因为历史的偶然,而有的则可能是因为规范.但是,不管究竟是什么原因是最终的软件加入了某段特定的代码,这种原因必然有其基于心理学的一面.这使我们相信,把程序开发作为一项以人为主的活动来加以研究,将会取得丰硕的成果.----这也使得我相信,温伯格将程序开发和心理学结合起来研究,并不是毫无道理的. 如果准备把程序开

程序开发心理学阅读笔记之一

阅读程序 在阅读出自别人之手的程序时,我们或许可以从中获得一些收获——哪怕只是从别人的错误之中得到乐趣. 优秀程序的要素 如果程序根本无法正常运转,对其效率.适应性.以及生产成本的评估就毫无意义. 如何研究程序设计 最优秀的程序员同时也是那些最善于自省的.如果他们发现做错了什么,他们会对导致这个结果的思维过程或物理过程进行检讨:然后,他们会采取一些相应的措施,对这个过程进行调整,这种方式被称为“根源分析”.

《程序开发心理学读书笔记》

<程序开发心理学>出自软件领域著名思想家,美国计算机名人堂首批成员之一的Gerald M.Weinberg温伯格之手.其关注的是程序开发过程中人的因素,作者从人类行为.社会行为.个人行为等角度,分析了人在计算机程序开发的过程中所表现出的行为及其影响,探讨了诸如什么样的程序员才是好的程序员,怎样才能打造出优秀的开发团队,我们在求职或招聘时做的那些智力测验是否真的有用,等等这类问题.此书一共分为四篇13章,以下是我从每个章节中汲取到的知识以及自己的见解: 在第一篇<作为人类行为的程序开发&g

《程序开发心理学读书笔记之四》

本书绝对称得上是经典著作了,之前已经发表过自己对最感兴趣的两篇的见解以及从中收获的益处了,但是其余两篇也是比较好的,下面就让我来带大家去其中遨游吧! 以下是我认为书中作者写的比较好的见解: 第一篇是<作为人类行为的程序开发>,以下是我认为作者总结的较好的观点: (1)程序员自己编写的代码是为了弥补计算机本身的不足,本人认为这是作者的一个较为独到的见解. (2)我们发现,大量代码的作用,只是为了克服那些我们将可能遇到的硬件配置的不尽完美之处,这是作者的看待程序开发的新思维. (3)程序员面临的另

《程序开发心理学读书笔记之三》

以下是我对本书中最感兴趣的另一篇软件开发个人行为中收获的知识以及自己从中受益的一些启发: 从此篇中总结了一些我认为是比较好的作者的观点: (1)程序开发任务的差异:在程序开发的不同阶段,程序员之间的能力差异,因此,只要能够把所有人的努力划分为不同类型的工作,而不是不同的程序,那么任何项目的开发效率都可以得到这种量级的提高. (2)人格因素:所谓人格,就是一个人的所有特征的集合,根据这种具有唯一性的集合,能够确定这个人任何适应不断变化中的环境,同时反过来,这个集合本身也会受到这个适应过程的影响.任

《用户故事与敏捷开发》阅读笔记04

  <用户故事与敏捷开发>阅读笔记04 今天抽出了两个小时读了<用户故事与敏捷开发>的第十二.十三.十四以及十五章并写了这篇阅读笔记.第十二章标题为"故事不是什么".IEEE 830是一本关于如何编写软件需求规格的指南,最突出的特征是使用短语"系统应该.....",但作者认为以这种方式编写系统的所有需求实际是一个不可能的任务.因为用户看到正在开发的软件时总会有有效和重要的反馈循环.他们会改变之前的想法,而且每个需求的成本是不可见的,会造成分析