Joel on software讀書筆記一
本來想等讀完之后再來寫讀后感的,不過由于引起的共鳴或者說帶來的感想確實不少,還是決定先寫寫,免得以后有所忘記,^_^
Joel on software不愧是jolt的得獎書籍之一,寫的非常的不錯,不過建議大家直接看E文版,不要看中文版,中文版翻譯的實在不怎么樣,給人的感覺根本就是直譯的方法,象其中體現(xiàn)出不夠?qū)I(yè)的翻譯的詞到處都是,象連編、內(nèi)用軟件等等詞,里面翻譯的很多話都翻譯的很晦澀,估計如果對joel講的那個方面不懂的話,看中文版反而會完全看不懂...
Joel on software是本很薄的書,講的主要是joel在軟件方面的一些經(jīng)驗、想法、實踐,joel是以前Microsoft Excel團隊的領(lǐng)導(dǎo)之一。
目前看了大概一半,流水帳式的記錄下讀書的筆記:
1、Joel測試:改進代碼的12個步驟
????? Joel測試,業(yè)內(nèi)非常知名的對于軟件團隊的一種評價手段,12個步驟都點中要害,雖然估計大家都了解,還是決定在這里再次列出:
????? § 使用源代碼版本控制嗎?
??????§ 能一步完成系統(tǒng)構(gòu)建嗎?
??????§?做日構(gòu)建嗎?
????? § 有Bug庫嗎?
????? § 在編寫新代碼之前修復(fù)Bug嗎?
????? § 有最新的進度表嗎?
????? § 有功能規(guī)格說明書嗎?
????? § 程序員擁有安靜的工作環(huán)境嗎?
????? § 你用到了你資金能力內(nèi)可買到的最好工具嗎?
??????§ 有測試人員嗎?
????? § 新聘人員在試用期寫代碼嗎?
????? § 進行走廊可用性測試嗎?
?????? 以上12點就是著名的Joel測試了,你可以試著對你的團隊打打分,只有得到11分或12分的才是比較好的軟件團隊,而10分以及10分以下的團隊都存在這樣那樣的問題。
?????? Joel舉了個例子是微軟中的軟件團隊都在12分以上.........
?????? 其實自己看了下,確實,這12點都是對于團隊來講很基本的要求,但是你的團隊能得幾分呢?
2、Unicode與字符集知識
????? Joel認(rèn)為每個程序員都應(yīng)該了解Unicode與字符集知識,java界的程序員由于基本都會碰到編碼問題,所以我覺得這個部分對于java程序員來說通常都不是大問題,不過我從這章節(jié)中仍然是學(xué)到了更為底層的編碼知識,^_^
3、功能規(guī)格說明書
????? 這個部分一直就認(rèn)為至關(guān)重要,無論是產(chǎn)品性質(zhì)還是項目性質(zhì),功能規(guī)格說明書其實和平時寫需求規(guī)格說明書還是有些不同的,功能規(guī)格說明書其實通常都已經(jīng)向用戶展現(xiàn)了一套真實的系統(tǒng),joel在書中說的一點給我感觸頗深,就是寫這種書的時候應(yīng)該寫的帶有些趣味性,這點看似容易,做起來難,就像XP中的系統(tǒng)隱喻一樣。
4、每日構(gòu)建
??????這個相信大部分業(yè)內(nèi)人士都已經(jīng)認(rèn)同了,但有多少團隊在真正的執(zhí)行呢?
????? 這個章節(jié)給我?guī)淼淖畲蟮捏w會不是每日構(gòu)建的好處的學(xué)習(xí),這個我都已經(jīng)知道了,最大的體會是當(dāng)joel講到編譯器是為了提升edit-compile-test這個環(huán),給我?guī)淼淖畲蟮母邢刖褪且嵘龍F隊能力、效率其實同樣也是這樣,去尋找這個環(huán),就像jira這樣的工具就可以幫助提升report-fix-test這個環(huán)的效率。
5、Bug修復(fù)
????? 這個章節(jié)讓人體會到了做軟件各個環(huán)境還是要想到軟件的本質(zhì)的,軟件的本質(zhì)是商業(yè)性質(zhì)的服務(wù),所以即使在進行Bug修復(fù)要有去考慮商業(yè)性質(zhì)上的因素。
6、稿紙原型開發(fā)
??????^_^,這個章節(jié)帶來的共鳴來源于我很多時候都傾向于用紙、白板來表達我的設(shè)計思路,而不是用visio、rose去繪制那些受N多規(guī)范約束的圖,更討厭別人在看這些圖的時候首先看的是這些圖是否符合這種、那種規(guī)范。
????? 稿紙原型這種方法其實同樣,更容易進行快速的交流....
7、自動獲取用戶故障報表
????? 這個我想是N多軟件人員都想做到的,^_^,自動的獲取用戶的故障報表,這樣對于修復(fù)bug會有很大的幫助,多么的希望有這樣的記錄方式:對于出現(xiàn)異常的部分就會有操作過程的完整錄像,同時提供相關(guān)的環(huán)境信息等,這樣的話對于bug的修復(fù)會有很大的幫助。
8、面試游擊指南
????? 面試絕對是個很大的學(xué)問,要求在很短的時間較準(zhǔn)確的去評估一個人是否適合某個職位,joel給出了他的面試步驟:
????? § 介紹自己
????? § 詢問應(yīng)聘人員最近從事的項目情況
????? § 問不可能回答的問題。(如北京有多少個公交車站)
????? § 程序設(shè)計提問
??????????? 這個環(huán)節(jié)很重要,目前情況來看,還是能現(xiàn)場讓面試者在機器上寫點代碼比較好.....
????? § 你滿意嗎?
????? § 你有任何問題嗎?
?????? joel表達的重要思想和我之前寫的一篇blog一樣,面試人員應(yīng)該給應(yīng)聘者創(chuàng)造一個輕松的環(huán)境,讓應(yīng)聘者盡量的展示他自己的能力,joel認(rèn)為對于應(yīng)聘者他最看重的是機敏和成事這兩個方面,機敏表明了joel很重視應(yīng)聘者的學(xué)習(xí)和適應(yīng)能力,成事則表明joel很重視應(yīng)聘者的實戰(zhàn)能力,而不是純粹的理論水平。
9、不配備測試人員的五個首要(錯誤)原因
????? 這個環(huán)節(jié)給我很大的體會,至少在我經(jīng)歷過的幾個公司都沒有做到配備測試人員的條件,而且測試人員到底需要什么樣的水準(zhǔn),在現(xiàn)在的業(yè)界也沒個準(zhǔn),反正我是一直認(rèn)為合格的測試人員應(yīng)該是由高程、系統(tǒng)設(shè)計師這樣的人發(fā)展過去的。
10、任務(wù)換人有害無益
??????? 這點深有體會,在這個章節(jié)中joel講的重點是同時面對多任務(wù)的現(xiàn)象,這里他舉了個例子,是多線程處理的例子,我們都知道,一直以來都認(rèn)為多線程處理方式的支持是業(yè)界的重大發(fā)展,joel舉了個例子去說明多線程處理的時候效率遠(yuǎn)比順序執(zhí)行的時候慢,當(dāng)然,其實我覺得這是joel舉的一種特例,他主要還是為了去表達人去面對多任務(wù)通常來講是不如讓這個人按順序的完成任務(wù)的好,這點我是非常同意的,至少我自己就是這樣,就像joel書中所說的一樣,當(dāng)面對一個任務(wù)的時候我基本都會較好的完成,但當(dāng)同時面對兩個任務(wù)的時候很容易造成兩個都完成的很慢或者一個完成的較好,而另一個則根本就沒怎么做,主要是在任務(wù)切換的時候需要花費很長的切換時間,joel在書中所說,本來一天八小時的有效工作搞不好會變成兩小時,^_^,我就經(jīng)歷過這樣的現(xiàn)象。
BTW:
Joel網(wǎng)站:http://www.joelonsoftware.com
Joel on software不愧是jolt的得獎書籍之一,寫的非常的不錯,不過建議大家直接看E文版,不要看中文版,中文版翻譯的實在不怎么樣,給人的感覺根本就是直譯的方法,象其中體現(xiàn)出不夠?qū)I(yè)的翻譯的詞到處都是,象連編、內(nèi)用軟件等等詞,里面翻譯的很多話都翻譯的很晦澀,估計如果對joel講的那個方面不懂的話,看中文版反而會完全看不懂...
Joel on software是本很薄的書,講的主要是joel在軟件方面的一些經(jīng)驗、想法、實踐,joel是以前Microsoft Excel團隊的領(lǐng)導(dǎo)之一。
目前看了大概一半,流水帳式的記錄下讀書的筆記:
1、Joel測試:改進代碼的12個步驟
????? Joel測試,業(yè)內(nèi)非常知名的對于軟件團隊的一種評價手段,12個步驟都點中要害,雖然估計大家都了解,還是決定在這里再次列出:
????? § 使用源代碼版本控制嗎?
??????§ 能一步完成系統(tǒng)構(gòu)建嗎?
??????§?做日構(gòu)建嗎?
????? § 有Bug庫嗎?
????? § 在編寫新代碼之前修復(fù)Bug嗎?
????? § 有最新的進度表嗎?
????? § 有功能規(guī)格說明書嗎?
????? § 程序員擁有安靜的工作環(huán)境嗎?
????? § 你用到了你資金能力內(nèi)可買到的最好工具嗎?
??????§ 有測試人員嗎?
????? § 新聘人員在試用期寫代碼嗎?
????? § 進行走廊可用性測試嗎?
?????? 以上12點就是著名的Joel測試了,你可以試著對你的團隊打打分,只有得到11分或12分的才是比較好的軟件團隊,而10分以及10分以下的團隊都存在這樣那樣的問題。
?????? Joel舉了個例子是微軟中的軟件團隊都在12分以上.........
?????? 其實自己看了下,確實,這12點都是對于團隊來講很基本的要求,但是你的團隊能得幾分呢?
2、Unicode與字符集知識
????? Joel認(rèn)為每個程序員都應(yīng)該了解Unicode與字符集知識,java界的程序員由于基本都會碰到編碼問題,所以我覺得這個部分對于java程序員來說通常都不是大問題,不過我從這章節(jié)中仍然是學(xué)到了更為底層的編碼知識,^_^
3、功能規(guī)格說明書
????? 這個部分一直就認(rèn)為至關(guān)重要,無論是產(chǎn)品性質(zhì)還是項目性質(zhì),功能規(guī)格說明書其實和平時寫需求規(guī)格說明書還是有些不同的,功能規(guī)格說明書其實通常都已經(jīng)向用戶展現(xiàn)了一套真實的系統(tǒng),joel在書中說的一點給我感觸頗深,就是寫這種書的時候應(yīng)該寫的帶有些趣味性,這點看似容易,做起來難,就像XP中的系統(tǒng)隱喻一樣。
4、每日構(gòu)建
??????這個相信大部分業(yè)內(nèi)人士都已經(jīng)認(rèn)同了,但有多少團隊在真正的執(zhí)行呢?
????? 這個章節(jié)給我?guī)淼淖畲蟮捏w會不是每日構(gòu)建的好處的學(xué)習(xí),這個我都已經(jīng)知道了,最大的體會是當(dāng)joel講到編譯器是為了提升edit-compile-test這個環(huán),給我?guī)淼淖畲蟮母邢刖褪且嵘龍F隊能力、效率其實同樣也是這樣,去尋找這個環(huán),就像jira這樣的工具就可以幫助提升report-fix-test這個環(huán)的效率。
5、Bug修復(fù)
????? 這個章節(jié)讓人體會到了做軟件各個環(huán)境還是要想到軟件的本質(zhì)的,軟件的本質(zhì)是商業(yè)性質(zhì)的服務(wù),所以即使在進行Bug修復(fù)要有去考慮商業(yè)性質(zhì)上的因素。
6、稿紙原型開發(fā)
??????^_^,這個章節(jié)帶來的共鳴來源于我很多時候都傾向于用紙、白板來表達我的設(shè)計思路,而不是用visio、rose去繪制那些受N多規(guī)范約束的圖,更討厭別人在看這些圖的時候首先看的是這些圖是否符合這種、那種規(guī)范。
????? 稿紙原型這種方法其實同樣,更容易進行快速的交流....
7、自動獲取用戶故障報表
????? 這個我想是N多軟件人員都想做到的,^_^,自動的獲取用戶的故障報表,這樣對于修復(fù)bug會有很大的幫助,多么的希望有這樣的記錄方式:對于出現(xiàn)異常的部分就會有操作過程的完整錄像,同時提供相關(guān)的環(huán)境信息等,這樣的話對于bug的修復(fù)會有很大的幫助。
8、面試游擊指南
????? 面試絕對是個很大的學(xué)問,要求在很短的時間較準(zhǔn)確的去評估一個人是否適合某個職位,joel給出了他的面試步驟:
????? § 介紹自己
????? § 詢問應(yīng)聘人員最近從事的項目情況
????? § 問不可能回答的問題。(如北京有多少個公交車站)
????? § 程序設(shè)計提問
??????????? 這個環(huán)節(jié)很重要,目前情況來看,還是能現(xiàn)場讓面試者在機器上寫點代碼比較好.....
????? § 你滿意嗎?
????? § 你有任何問題嗎?
?????? joel表達的重要思想和我之前寫的一篇blog一樣,面試人員應(yīng)該給應(yīng)聘者創(chuàng)造一個輕松的環(huán)境,讓應(yīng)聘者盡量的展示他自己的能力,joel認(rèn)為對于應(yīng)聘者他最看重的是機敏和成事這兩個方面,機敏表明了joel很重視應(yīng)聘者的學(xué)習(xí)和適應(yīng)能力,成事則表明joel很重視應(yīng)聘者的實戰(zhàn)能力,而不是純粹的理論水平。
9、不配備測試人員的五個首要(錯誤)原因
????? 這個環(huán)節(jié)給我很大的體會,至少在我經(jīng)歷過的幾個公司都沒有做到配備測試人員的條件,而且測試人員到底需要什么樣的水準(zhǔn),在現(xiàn)在的業(yè)界也沒個準(zhǔn),反正我是一直認(rèn)為合格的測試人員應(yīng)該是由高程、系統(tǒng)設(shè)計師這樣的人發(fā)展過去的。
10、任務(wù)換人有害無益
??????? 這點深有體會,在這個章節(jié)中joel講的重點是同時面對多任務(wù)的現(xiàn)象,這里他舉了個例子,是多線程處理的例子,我們都知道,一直以來都認(rèn)為多線程處理方式的支持是業(yè)界的重大發(fā)展,joel舉了個例子去說明多線程處理的時候效率遠(yuǎn)比順序執(zhí)行的時候慢,當(dāng)然,其實我覺得這是joel舉的一種特例,他主要還是為了去表達人去面對多任務(wù)通常來講是不如讓這個人按順序的完成任務(wù)的好,這點我是非常同意的,至少我自己就是這樣,就像joel書中所說的一樣,當(dāng)面對一個任務(wù)的時候我基本都會較好的完成,但當(dāng)同時面對兩個任務(wù)的時候很容易造成兩個都完成的很慢或者一個完成的較好,而另一個則根本就沒怎么做,主要是在任務(wù)切換的時候需要花費很長的切換時間,joel在書中所說,本來一天八小時的有效工作搞不好會變成兩小時,^_^,我就經(jīng)歷過這樣的現(xiàn)象。
BTW:
Joel網(wǎng)站:http://www.joelonsoftware.com
posted on 2006-06-01 21:44 BlueDavy 閱讀(2610) 評論(2) 編輯 收藏 所屬分類: 業(yè)界隨想