系統(tǒng)程序員成長計劃

出版時間:2010-04  出版社:人民郵電出版社  作者:李先靜  頁數(shù):272  字?jǐn)?shù):413000  
Tag標(biāo)簽:無  

前言

在經(jīng)歷過幾個大型的、失敗的項目之后,我終于認(rèn)識到了:沒有什么比高素質(zhì)的程序員更能決定項目的成功。無論采用什么開發(fā)過程,什么編程語言和開發(fā)工具,離開了高素質(zhì)的程序員,都是白費力氣。毫無疑問,人是軟件開發(fā)中最重要的因素。但并非每個人都重要,也不是什么樣的人都重要,在軟件開發(fā)中,只有那些高素質(zhì)的程序員和那些對項目有突出貢獻的人才是重要的。不過高素質(zhì)的程序員并不多見,所以從我開始帶人起,就一直在思考團隊成員培養(yǎng)的問題。我做過很多嘗試,從小組內(nèi)學(xué)習(xí)到整個部門一起上大課,最后又回到對個人做單獨的輔導(dǎo);從通過Code Review(代碼評審)做現(xiàn)場教育到制定一個宏偉的培訓(xùn)計劃,最后又回到一個樸素的培訓(xùn)過程。其中遇到了很多問題,開始是培訓(xùn)不夠系統(tǒng),效果不甚理想,后來又因為計劃過于“宏偉”而無法實施,等到最后形成一個樸素的、切實可行的培訓(xùn)方案,已經(jīng)經(jīng)過了好幾年時間,直到去年,整個計劃才趨于完善。我把這個培訓(xùn)計劃稱為系統(tǒng)程序員成長計劃,而這正是我在本書中所要介紹的。培訓(xùn)內(nèi)容不是來源于某本書,畢業(yè)八年來,我堅持不懈地閱讀有關(guān)書籍,所讀過的300多本不同類型的著作裝滿了家中的7個大儲物箱,而這些著作囊括了大部分經(jīng)典的IT圖書。當(dāng)然培訓(xùn)的內(nèi)容也不是全部源于書本,這幾年我在開發(fā)開源軟件的過程中所收獲的感悟和積累的經(jīng)驗也融入其中。我的培訓(xùn)計劃并不是要闡述什么高深的道理,相反,我這本書主要是針對應(yīng)屆畢業(yè)生和業(yè)余愛好者寫的,目的就是為了讓初學(xué)者進階為一個專業(yè)的程序員。為什么把這個培訓(xùn)計劃叫做“系統(tǒng)程序員成長計劃”,而不是“程序員成長計劃”呢?程序員的范圍太廣了,雖然軟件開發(fā)有很多相似之處,但是隔行如隔山,比如對于目前炙手可熱的Web開發(fā),我完全是外行。為了不造成“想什么都講一點,結(jié)果是什么都沒有講清楚”的尷尬,我得把培訓(xùn)計劃限定在我熟悉的范圍之內(nèi)。而所謂系統(tǒng)程序員,是指從事操作系統(tǒng)內(nèi)核、DBMS、GuI系統(tǒng)、基礎(chǔ)函數(shù)庫、應(yīng)用程序框架、編譯器和虛擬機等基礎(chǔ)軟件開發(fā)的程序員。

內(nèi)容概要

本書以生動的語言和豐富的代碼示例,運用一些相對簡單的例子分析開發(fā)系統(tǒng)程序中可能遇到的各種問題。作者把數(shù)年的開發(fā)經(jīng)驗和閱讀大量書籍的體會,結(jié)合他在培訓(xùn)新員工過程中所積累的培養(yǎng)方法,融會貫通在這12章的內(nèi)容中。書中介紹了鏈表、數(shù)組、棧、隊列和散列表等基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),也介紹了并發(fā)、同步和內(nèi)存管理等系統(tǒng)程序中常需注意的問題,還講解了文本處理器等具體應(yīng)用程序的設(shè)計方法。   本書是初涉系統(tǒng)程序開發(fā)領(lǐng)域的人不可多得的一本參考書。書中體現(xiàn)的思想對于其他各種軟件開發(fā)人員、相關(guān)專業(yè)的在校學(xué)生以及軟件開發(fā)愛好者都有啟發(fā)意義。

作者簡介

李先靜,CSDN開源專家,有著十年Linux開發(fā)經(jīng)驗、五年手機開發(fā)經(jīng)驗。擅長嵌入式程序員培訓(xùn),軟件架構(gòu)設(shè)計和技術(shù)寫作。近幾年負(fù)責(zé)Broncho Linux智能手機項目,致力于基于Linux的嵌入式系統(tǒng)的學(xué)習(xí)和研究。其CSDN博客連續(xù)三年被CSDN提名為最有價值的技術(shù)博客(MVB),他先后發(fā)表了近500篇技術(shù)類博文,博客文章被各大技術(shù)網(wǎng)站轉(zhuǎn)載。在《程序員》雜志上發(fā)表過多篇文章。

書籍目錄

第0章 背景知識 0.1 基礎(chǔ)知識 0.2 開發(fā)環(huán)境第1章 從雙向鏈表學(xué)習(xí)設(shè)計 1.1 走近專業(yè)程序員 1.2 誰動了你的隱私 1.3 Write once, run anywhere(WORA) 1.4 擁抱變化 1.5 Don't Repeat Yourself(DRY) 1.6 你的數(shù)據(jù)放在哪里第2章 寫得又快又好的秘訣 2.1 好與快的關(guān)系 2.2 代碼閱讀法 2.3 避免常見錯誤 2.4 自動測試 2.5 Save your work第3章 從動態(tài)數(shù)組學(xué)習(xí)設(shè)計 3.1 動態(tài)數(shù)組與雙向鏈表 3.2 排序 3.3 有序數(shù)組的兩個應(yīng)用第4章 并發(fā)與同步 4.1 并發(fā) 4.2 同步 4.3 嵌套鎖與裝飾模式 4.4 讀寫鎖 4.5 無鎖數(shù)據(jù)結(jié)構(gòu)第5章 組合的威力 5.1 隊列 5.2 ?!?.3 散列表第6章 算法與容器 6.1 容器 6.2 迭代器 6.3 動態(tài)綁定第7章 工程管理 7.1 Hello World 7.2 函數(shù)庫 7.3 應(yīng)用程序第8章 內(nèi)存管理 8.1 共享內(nèi)存 8.2 線程局部存儲(TLS) 8.3 內(nèi)存管理器 8.4 慣用手法 8.5 調(diào)試手段及原理第9章 從計算機的角度思考問題 9.1 變參函數(shù)的實現(xiàn)原理 9.2 誰在call我——backtrace的實現(xiàn)原理 9.3 Hello World不能不說的十大秘密第10章 文本處理 10.1 狀態(tài)機 10.2 Builder模式 10.3 管道過濾器模式第11章 分離用戶界面與內(nèi)部實現(xiàn) 11.1 分層設(shè)計 11.2 MVC架構(gòu) 11.3 外殼模式第12章 撰寫設(shè)計文檔附錄 C語言中接口定義的不同形式

章節(jié)摘錄

插圖:假想講給朋友聽據(jù)說在代碼評審時發(fā)現(xiàn)錯誤的,往往不是評審的人而是程序員自己。我也有很多這樣的經(jīng)歷,在把自己遇到的情況講給別人聽的時候,往往是別人還沒有聽明白,自己已經(jīng)發(fā)現(xiàn)里面存在的錯誤了。上大學(xué)時,我常常把自己寫的或者學(xué)到的東西講給隔壁寢室的一個同學(xué)聽,他說他從我這里學(xué)到了很多知識,其實我從講的過程中,也經(jīng)常會發(fā)現(xiàn)一些問題,對提高自己的能力大有幫助。可惜并不是隨時都能找到好的聽眾,幸好我們有另外一個替代辦法。記得剛開始寫程序時看過一本書(忘記名字了),作者說他在寫程序時,常常把思路講給他的布娃娃聽。我沒有布娃娃當(dāng)聽眾,總不至于讓我對著鼠標(biāo)、鍵盤和顯示器講自己的思路吧,所以我會假想自己身邊有個朋友,把自己的思路講給“他”聽,同時也假想“他”來質(zhì)疑我。話說回來,這種方法確實很有效,能夠讓自己的思路更清晰,據(jù)說一些大師也經(jīng)常使用這種方法。這種代碼閱讀法會花掉你~些時間,但是可以省下更多調(diào)試時問,而且能夠提高代碼質(zhì)量,可以說是名符其實的“寫得又快又好的秘訣”之一。至于讀幾遍合適,要根據(jù)情況而定,我個人覺得讀兩到三遍是最好的,花費的時間也不算多。在C語言中,內(nèi)存錯誤是最為人詬病的。這些錯誤讓項目延期或者被取消,引發(fā)無數(shù)的安全問題,甚至出現(xiàn)人命關(guān)天的災(zāi)難。拋開這些大道理不談,它們確實浪費了我們大量時間,這些錯誤引發(fā)的是隨機現(xiàn)象,即使有一些先進工具的幫助,為了找到重現(xiàn)的路徑,花上幾天時間也不足為怪。如果能夠在編寫代碼的時候避免這些錯誤,開發(fā)效率至少提高一倍以上,而且質(zhì)量也可以提高幾倍。這里列舉一些常見的內(nèi)存錯誤,供新手參考。內(nèi)存泄露大家都知道,在堆上分配的內(nèi)存,如果不再使用了,就應(yīng)該把它釋放掉,以便后面其他地方可以重用。在C/C++中,內(nèi)存管理器不會幫你自動回收不再使用的內(nèi)存。如果你忘了釋放不再使用的內(nèi)存,這些內(nèi)存就不能被重用了,這就造成了內(nèi)存泄露。把內(nèi)存泄露列為首位,倒不是因為它會帶來多么嚴(yán)重的后果,而是因為它是最為常見的一類錯誤。一兩處內(nèi)存泄露通常并不至于讓程序崩潰,也不會帶來邏輯上的錯誤,而且在進程退出時,系統(tǒng)會自動釋放所有與該進程相關(guān)的內(nèi)存(共享內(nèi)存除外),所以內(nèi)存泄露的后果相對來說還是比較溫和的。但是,量變會導(dǎo)致質(zhì)變,一旦內(nèi)存泄露過多以至于耗盡內(nèi)存,后續(xù)內(nèi)存分配將會失敗,程序就可能因此而崩潰。

編輯推薦

《系統(tǒng)程序員:成長計劃》:結(jié)合代碼詳細(xì)講解程序開發(fā)方法匯集豐富的軟件開發(fā)思想CSDN專家全新力作在學(xué)習(xí)程序開發(fā)的過程中,你是否總是為自己遇到的一些問題頭疼不已,你是否還在為寫不出代碼而心急如焚?作為軟件開發(fā)人員,你是否時時為自己如何成為一名合格的程序員而困惑不已?沒關(guān)系,《系統(tǒng)程序員:成長計劃》將為你排憂解難。這是一本介紹系統(tǒng)程序開發(fā)方法的書。書中結(jié)合內(nèi)容詳盡的代碼細(xì)致講述了不少底層程序開發(fā)基礎(chǔ)知識,并在逐步深入的過程中介紹了一些簡單實用的應(yīng)用程序,最后還講述了一些軟件工程方面的內(nèi)容,內(nèi)容全面,語言生動,尤其適合初涉系統(tǒng)程序開發(fā)的人來讀,有利于他們成長為更加專業(yè)的程序員。雖然《系統(tǒng)程序員:成長計劃》以“系統(tǒng)程序員”為名,但書中所蘊含的軟件開發(fā)思想和方法也同樣適用于其他的軟件開發(fā)領(lǐng)域。各種軟件開發(fā)人員、相關(guān)專業(yè)的在校學(xué)生以及軟件開發(fā)愛好者也都不妨讀讀《系統(tǒng)程序員:成長計劃》,來分享作者多年來在學(xué)習(xí)和實踐中所總結(jié)的開發(fā)方法與所領(lǐng)悟的開發(fā)思想。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    系統(tǒng)程序員成長計劃 PDF格式下載


用戶評論 (總計41條)

 
 

  •   系統(tǒng)程序員,尤其 用C語言的,值得一看
  •   讓你成為一個真正的程序員的書。
  •   好書, 程序員提高必讀。
  •   這是一本一看就喜歡的數(shù)。尤其是喜歡c,喜歡linux的人。
  •   也是看博文過來的。。比博文上要稍微詳盡一些。。不過內(nèi)容是一樣的。。還不錯了
  •   這本書是聽人介紹的,說是一本很好的書,雖然我沒能堅持看完,因為個人的原因,不過這本書確實能提高編程能力,這里面說的內(nèi)容確實有一定的難度,能堅持按里面說的做的話,也許真的能成為這方面的高手的。。。。。。。。。。。
  •   書里面的聯(lián)系很多,而且都要自己上網(wǎng)找資料,不過如果能按照要求讀下來,絕對會和作者“吹”的一樣!
  •   知道這書的應(yīng)該是科班較多,我是半路出家,在周工推薦看到,現(xiàn)在看到第三章,感覺還不錯,比較喜歡這種不斷穿插實踐的書,但因為半路出家,好多知識還得慢慢補,總之對與我這種初學(xué)編程的人,認(rèn)為它很適合邊看邊練。
  •   內(nèi)容充實,書很實用
  •   用手機拍的,還不錯。
  •   讀者群定位明確,論述簡明精要,沒有廢話,是一本人寫的書,寫給人看的書。
  •   在經(jīng)過老師的推薦和自己的觀察,發(fā)現(xiàn)很適合我,內(nèi)容淺顯易讀、引導(dǎo)思維,有助一個學(xué)者的學(xué)習(xí)。
  •   短短的篇幅介紹了很多諸如容器類等等的 思路和寫法,雖然篇幅不長但是還是對人蠻有啟發(fā)的。
  •   作者很用心的在寫這本書,這比較可貴。
  •   這本書對于我來說是很有幫助的,對于一般編程者來說會有很大提高。這書也是別人向我推薦的,我在此也向大家推薦!
  •   看完了才寫的評論,書本不錯,只是要求有比較好的基礎(chǔ),還有些說得不是很詳細(xì),進階必備
  •   按照作者的計劃進行,定能成才
  •   不過這些資料我在也正是華為的資料(作者是華為出來的),總之很強大,實踐的經(jīng)驗之談,要想提高還是得要多實踐多提高
  •   書還來不及看,不過從封面上看,還是蠻好的
  •   編程不僅僅的功能正確,架構(gòu)也要完美,才能提高容錯和擴展能力
  •   內(nèi)容詳實,很值得買
  •   收藏的一本書,終于擁有。
  •   如果剛畢業(yè)是有這本書就好了
  •   有點小深度,適合慢慢鉆研
  •   里面講了些細(xì)節(jié),要仔細(xì)看
  •   還不錯 很喜歡 當(dāng)當(dāng)一直很給力!
  •   好書,值得看3遍!
  •   圖書館看過的,必須買??!
  •   對新人來說這是一本好書
  •   書不錯,適合初入程序員界的時候看。
  •   不錯,內(nèi)容很全面,很有指導(dǎo)性
  •   這本書是一本計劃書,用來作為參考是不錯的
  •   還好吧,同學(xué)介紹的
  •   好書 自己還得在消化消化
  •   還沒有看,希望看后收獲頗多!
  •   有很多東西你試了就知道了
  •   不是抄的,有自己的東西
  •   讀書的關(guān)鍵在于思考。
  •   幫朋友買的,可以。
  •   正在看,不好評論......
  •   沒什么用的書,擱置了。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7