程式開發心理學(溫伯格著)摘抄整理如下:
1、程式開發也是一種藝術創造的過程,同寫作、作畫並沒有質的差別。是在特定的環境下,特定的程式設計師在特定的心理狀況下的藝術品,其中任何乙個因素的變化都可能導致藝術品的結果不同。
2、程式被寫成什麼樣子,取決於眾多的因素;一旦我們真的閱讀了程式,就會發現無論是否必要,其中這些**之所以如此編寫,有的是由於計算機的侷限,有的是由於程式語言的侷限,有的是由於程式設計師的侷限,有的是因為歷史的偶然,而有的則可能是因為規範。
3、優秀程式的要素: (
1)技術規範 (
2)日程計畫 (
3)適應性 (
4)效率
效率和適應性猶如魚和熊掌不可兼得。因而往往只能取其一,至少這比哪個都沒有強。
4、如何研究程式設計: (
1)自省,就程式開發心理學而言,每個命題都有可能成為一條「定律」。為了獲得一條「定律」,我們必須對其原理進行研究,以便對其應用範圍做一界定
----
因為,每條定律都會受到這種限制。確實,通常對這種限定的了解,較之對定律本身的了解更重要;而只有對大量的案例進行調查分析之後,才有可能明確這些限定。 (
2)觀察,我們要觀察人們到底在做什麼,而不是他們自認為在做什麼。 (
3)實驗,為了降低資料量太大帶來的處理代價,同時增加與我們感興趣的行為有關的資訊,我們可以設計一些實驗來進行驗證。 (
4)心理學測量,在程式開發心理學方面將要進行的大多數工作,不得不先去「尋找問題本身」,我們需要首先弄清楚哪些是可以測量的以及那些是值得測量的。與其說我們在研究被觀測物件,不如說我們在研究測量的方法本身。(5
)利用行為科學中的資料
5、主管們很喜歡玩組織結構圖的遊戲,但是如果將程式設計師之間的交流,嚴格限制為圖中那狹窄而筆直的線條,那麼程式開發將不會取得多大的成果。人與人之間的交流溝通既不是那麼狹窄,也不是那麼直截了當,更不是用一張組織結構圖就能表示出來的。
6、程式開發過程中的社會交流方式,會轉而影響到正在進行中的開發工作。
7、如果一名程式設計師真的把自己編寫的程式視為其自我的延伸,那麼他就絕對不會希望在他的程式中發現任何錯誤。
8、一支程式開發團隊之所以成立,是為了承擔並完成某項由任何個人都無法獨自完成的任務。
9、社會心理學家們已經證實:只要有一名成員與集體的目標不一致,那麼該集體的整體水平就將受到影響。這種影響不僅來自於這個成員本身,而且也來自於集體內部其他成員的績效下降。
10、作為一名被指派的團隊領導者,如果他的手下無法完成某項任務,但他的上級卻強迫他接受這項任務,那麼他所能採取的最好方法,就是堅決予以抵制。如果他本身是位優秀的程式設計師,那麼他在這場鬥爭中就擁有雙重的砝碼
--因為他對自己的判斷更加充滿自信,同時他也很清楚,即使他丟失了這份領導者的職位,也不至於淪落到討飯的地步。只有隨時準備**的領導者,才有可能獲得成功。
11、民主式團隊更有能力經受住成員離開的影響,但這樣的團隊通常很難接受新成員。從外界看,乙個民主式的團隊的外表顯得更加冷漠和不友好,而乙個集權式的團隊則會對外來的加入者表現出異乎尋常的熱情和友好
--這似乎是乙個悖論。
12
、fisher
基本定理告訴我們,乙個系統對某一特定環境的適應性越強,它適應新環境的能力就越弱。
13、對於哪些因素才是導致集體中的成員對工作感到滿意的關鍵,社會學家在經過研究之後,劃分出四個主要方面:
(1)
物質的獎勵與機會
(2)
工作本身所具有的挑戰性以及趣味性。
(3)
其所隸屬的更大團隊的總體條件
(4)
主管與領導的能力。
14、團隊的領導者們需要學習的東西包括:
無論主管們怎麼樣強調諾言,他們真正關心的只是結果。
如果希望得到的結果與在整個團隊的參與下所確定的工作目標一致,那麼這一目標就會非常輕易的實現。
15、對於從事程式開發的人們來說,至少應該多少具備一點的人格特點就是謙遜。
程式開發心理學
程式開發心理學 本文選自 程式開發心理學 一書 譯者序 能夠有幸翻譯weinberg 溫伯格 的這部作品,對於我來說實在是榮幸之至。溫伯格的大名自不必說,這位軟體領域著名的思想家,美國計算機名人堂首批5位成員之一,在全球的計算機界都享有極高的聲譽。他那獨特的視角和 遠矚的預見能力,使他的每部作品都熠...
程式開發心理學
在自己領域中思考自己的方向,認清自己的優勢和劣勢,調整自己的戰略 優秀的程式設計師是培養出來的,而不是天生的 閱讀優秀的程式來提高自己 在專案開始時,確認 正確性 時間 效率和適應性的優先順序,並隨情況變化 發現錯誤後,對導致這個錯誤的思維進行檢討,然後採取相應措施 具有共同價值觀和習慣的團隊是乙個...
《程式開發心理學》
1 隨著程式的規模不斷變大,那些早期做出的特定歷史條件下的選擇,其影響會擴散得更厲害。2 對於任何可能的輸入,程式都應該給出正確的輸出。3 乙個系統對某個特定環境適應得越好,對新環境的適應性就越差。4 使用者想要的並不是較短的平均執行時間,而是執行時間較少地波動,以使他能夠合理地安排工作進度。5 每...