《程式開發心理學》讀書筆記(二)

2021-09-05 13:26:29 字數 1932 閱讀 6184

第二章

優秀程式的要素

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

----

同第一章類似,這一章仍然沒有涉及到心理學的內容。主要介紹了優秀程式的幾個要素,按溫伯格認為的重要次序如下:是否符合技術規範、是否按日程計畫完成、適應性以及效率。重要的觀點是,世界上並不存在乙個絕對的評判程式的標準,但可以從上述幾個方面來對程式進行一定程度的好壞評定。

如果準備把程式開發作為一項以人為主體的行為來研究,我們首先就需要確定一些標準,用來衡量程式的效能。儘管我們對這些問題多少有些概念,但是我們將發現,答案並不象想象的那麼簡單。道理很簡單:程式開發不僅是一項人的行為,而且是一項人的複雜行為。

----

溫伯格首先認為並不存在一種絕對的標準來評判乙個程式的好壞,比如稱某個程式的優秀程度為

80%,這是不存在的。這恐怕是因為程式有其特定的開發環境、開發人員以及不同的使用環境。然而不幸的是,實際上我們也很難找到一對足夠相近的程式,從各個層面來對比他們,因而相對標準也並不實用。從幾個要素來評判程式的好壞倒還比較可信,畢竟優秀程式必須是正確的,然後才考慮是否按日程完成、適應性以及效率的問題。

優秀程式的要素之一:技術規範

如果程式根本無法正常運轉,對其效率、適應性以及生產成本的評估就毫無意義。無論如何,我們需要務實一些,需要承認:也許根本沒有哪個完美的程式曾經被寫出來過。每乙個真正大型和重要的程式「都必然包含很多個紕漏」。所以,程式符合其事先制訂的技術規範(可行性)的程度不盡相同,在對程式進行評估時,必須考慮到其不完美的一面。

優秀程式要素之二:日程計畫

即使不考慮符合技術規範的問題,效率的問題仍然不是最重要的。有時候程式推遲發布會帶來重大損失。一旦開發計畫沒有按時完成,總會有一大堆令人煩惱的後果。實際上,一般的開發主管寧可先做

12個月的計畫,然後在

12個月內完成,也不願計畫為

6個月,但卻花費

9個月。

----

書中提到,這一點在心理學方面大有研究的餘地。目前的有關研究只考慮時間的平均值,溫伯格提到應該衡量開發時間的方差。期待在後面的章節看到此討論。

優秀程式要素之三:適應性

溫伯格認為,程式的適應性比效率重要,因此先討論適應性。多數程式在其生命期內都會被修改,但實際上,很少有哪位原作者會考慮到可能的後續修改。文件會在一定程度上使程式易於修改,因而文件的質量也應該在很大程度上決定到對程式的評分。

適應性不是沒有代價的。

fisher

基本定理告訴我們:乙個系統對某一特定環境的適應性越強,他適應新環境的能力也就越弱。為了強調程式的效率,我們往往追求「緊密式」的**,而如果未來要對這些**進行修改,那將會非常棘手。

----

效率和適應性猶如魚和熊掌不可兼得。因而往往只能取其一,至少這比哪個都沒有強。

優秀程式要素之四:效率

終於講到效率了,不過衡量程式的真正效率,並不像乍看起來那麼簡單。

如果我們首要關心的是程式執行的效率,那麼第一步工作就應該是檢查一下,看看哪些方面的規範改變以後,可以提高計算機的效率

—此時,我們並不顧及使用者使用是否方便。誠然我們可以把一些交叉結算的工作交給人來彙總,但是通過這種方式來節省計算機執行時間,卻可能使人工花費更多的時間。

在多機、多道程式的環境中測量效率的困難比單機、單任務的環境要困難得多。使用者所希望的並非程式的平均執行時間最小化,而是其標準偏差的最小化,即程式的執行穩定性最佳。

----

最近在看

jeffrey richer

的一本,感覺他對效率非常重視。幾乎每講乙個內容,都會提到如何提高效率。比如,值型別的裝箱拆箱,他帶領我們深入學習其中的原理,檢視

il**來分析程式中裝箱拆箱的次數,然後改進程式將他們降至最低以使程式達到效率的最優。而溫伯格將程式的效率排在優秀程式要素的第四位,他們倆的觀點使我們能夠對效率保持乙個比較客觀的認識,不要走向任何乙個極端。

《程式開發心理學》讀書筆記

程式開發心理學 讀書筆記 三 第三章 如何研究程式設計 在 前兩章裡,我們已經將程式開發看成一項以人為主體的行為來加以研究,但由於程式開發是一項異常複雜的行為,現有的有關人類行為的科學結論並無法完全適用,因此我們必須創造一些新的方法來研究程式開發行為。本章介紹了幾種研究人類行為通常使用的方法,並一一...

《怪誕心理學》讀書筆記

align center img 既然是怪誕,那麼整本書涉及的內容並不是我們平常司空見怪的一些心理學現象.類似搞笑版的諾貝爾獎,但是裡面又不乏嚴謹的科學研究,以及大量的問卷調查和資料統計分析過程.有時候感覺老外真的是吃飯沒事兒幹的,研究那些玩意兒幹嘛,也許他們真的是吃飽撐的,不用像我們的教授一樣整天...

《設計心理學》讀書筆記

設計心理學 英文原名為 the design of everyday things 雖然書中確實提到了一些認知心理學和行為心理學中的概念。而且其作者 諾曼博士 也從事過心理學研究。可是對於書名是否應該被翻譯為設計心理學,卻依舊是乙個備受爭議的話題。回歸書的內容本身。作者強調的是,日常物品的設計,應以...