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