1. 軟體開發工作人員必讀的書籍有哪些,特別是剛剛工作的
《人月神化》
《人件》
《軟體發布方法》
《數據倉庫項目管理》
《自適應軟體開發》
《功能點分析》
《創建軟體工程文化》
《OO項目開發》(這本書的名字記得不是很清楚)
這些書是一個系列叢書。清華大學出版社出的
《微軟項目:求生法則》
《微軟研發:致勝策略》
《微軟團隊:成功秘訣》
原來關於微軟開發的系列叢書。很難買到了,但網上的下載很多
《微軟的秘密》
很不錯的一本書。質量保證人員應該看得一本書。也是在網上下載吧
《軟體工程:實踐者的研究方法》
最經典的軟體工程書籍。十分難讀,但的確是經典,英文已經到今天為止版了,中文版,很多大學拿它做教材,可以本科很難理解它的重要性,建議5年以上工作經驗的同志們好好讀一下,
《重構》
《重構手冊》
這兩本書是中國電力出版社的書,一套,使開發人員改進自己代碼的教科書
《過河卒》
開發人員如何確定自己的技術人生,一本不錯的書,
《borland傳奇》
想了解PC軟體的發展,讀這個書最好,使你對軟體的發展和計算機系統有一個更深刻的了解。
《java夜未眠》
不僅僅是講java語言的數,其中許多深刻的道理對質量保證人員也有很大的幫助
《計算機程序設計藝術》1,2,3卷
不知道怎麼評價這三本書,開發人員的床頭必備的書籍,就是一個字---牛
《軟體工藝》
告訴你什麼是軟體開發,什麼是程序員,讓我們知道我們是怎麼回事
《IT項目管理》(機械出版社)
PMP的管理書籍。項目組長必讀的東西,如何從開發人員變為項目管理人員,這個書寫的不錯
《高質量軟體項目管理》(清華大學出版社)
這本書將項目管理,軟體工程都寫到一起了,對於希望做項目管理和質量保證的人員很有用,對於一般的開發人員,你可以了解你以後的技術生涯需要那些技能和技巧,為以後的發展打下一個基礎
最後一個系列
軟體與系統思想家溫伯格精粹譯叢(清華大學出版社)
《質量、軟體、管理---協調管理》
《質量、軟體、管理---系統思維》
《程序員開發心理學》
《走查、審查、技術復審手冊》
還有其他的書,但我只有這幾本
《代碼大全I,II》
軟體編碼最經典的書籍,是兩本經典中的經典.
2. 程序員必讀的14本書籍
程序員必讀書籍有哪些呢?下面是我精心為您整理的程序員必讀的14本書籍,希望您喜歡!
程序員必讀的14本書籍
1、《代碼大全》 史蒂夫·邁克康奈爾
“優秀的編程實踐的網路全書,《代碼大全》注重個人技術,其中所有東西加起來, 就是我們本能所說的“編寫整潔的代碼”。這本書有50頁在談論代碼布局。” —— Joel Spolsky
Steve McConnell的原作《代碼大全》(第1版)是公認的關於編程的最佳實踐指南之一, 在過去的十多年間,本書一直在幫助開發人員編寫更好的軟體。
無論您的經驗水平如何,也不管您在怎樣的開發環境中工作,也無論項目是大是小, 本書都將激發您的思維並幫助您構建高品質的代碼。
2、《計算機程序的構造和解釋》
《代碼大全》、《重構》和《設計模式》這些經典書會教給你高效的工作習慣和交易細節。 其他像《人件集》、《計算機編程心理學》和《人月神話》這些書會深入軟體開發的心理層面。 其他書籍則處理演算法。這些書都有自己所屬的位置。
然而《計算機程序的構造和解釋》與這些不同。 這是一本會啟發你的書,它會燃起你編寫出色程序的熱情; 它還將教會你認識並欣賞美; 它會讓你有種敬畏,讓你難以抑制地渴望學習更多的東西。
其他書或許會讓你成為一位更出色的程序員,但此書將一定會讓你成為一名程序員。
3、《C程序設計語言》
《C程序設計語言》(第2版新版)原著即為C語言的設計者之一Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan合著的 一本介紹C語言的權威經典著作。 我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。
原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標准C的基礎。
人們熟知的“hello,world”程序就是由本書首次引入的,現在,這一程序已經成為所有程序設計語言入門的第一課。
4、程序員思維修煉(修訂版)
生命中沒有什麼是一成不變的,人們需要改變自己的習慣和方法。不論你是程序員、軟體公司管理者、技術奇人還是思想家,或者你只是想讓自己的大腦更聰明一點兒,所有嘗試改變自己的人,請把本書當作改變的開始……
5、系統化思維導論
關注人文,掌握思維法則,揭開科學與技術的神秘面紗
“它給我的震撼是第一次我能從全局的角度去看待各個學科,科學也不再是冷冰冰的割裂了的教條,不再是難以理解的一堆符號。”
6、優秀的叛逆者:引領組織變革的力量
Lois Kelly和Carmen Medina用她們的實戰經驗,向我們展示了如何在工作中贏得信賴、提出想法、處理人際關系、管理沖突和保持理智。”
——亞當•格蘭特,沃頓商學院教授,《紐約時報》暢銷書Give and Take的作者
7、《重構:改善既有代碼的設計》
《重構:改善既有代碼的設計》適合軟體開發人員、項目管理人員等閱讀, 也可作為高等院校計算機及相關專業師生的參考讀物。
8、《Site Reliability Engineering》
《SRE:Google運維解密》可以讓讀者學習到Google工程師在提高系統部署規模、改進可靠性和資源利用效率方面的指導思想與具體實踐——這些都是可以立即直接應用的寶貴經驗。任何一個想要創建、擴展大規模集成系統的人都應該閱讀,該書針對如何構建一個可長期維護的系統提供了非常寶貴的實踐經驗。
9、《Refactoring》
那時候當我讀這本《重構:改善既有代碼的設計》時,由於它在關於代碼異味的單獨章節所花的篇幅,使得這本書非常值這個價。該書非常成功,因為它使重構和代碼異味的觀念成為主流。
Steve Yegge曾對這本書不吝贊譽之詞:
2003年10月,我第一次閱讀這本書,有一種不寒而粟的感覺。如果你意識到,當你想離職時,你已經工作5年。轉天我就隨意問周圍:“嗯,你已經讀過重構方面的書,對吧?我只是隨便問問,因為我很久以前讀過,當然不是現在。”在我所調查的20個人中,只有一個人
10、《Peopleware》
在大學時我讀到這本《人件》,該書似乎很令人信服,甚至所有的研究結果都支持該書的觀點:不設置截止日期就比設置截止日期要好;辦公室比隔間要好,等等。所有開發人員跟我討論的時候,基本都贊同這些觀點。
11、《編程珠璣》
盡管我不得不羞愧地承認,書中一半的東西我都沒有理解,但我真的推薦《編程珠璣》,書中有些令人驚奇的東西。 – Matt Warren
12、《修改代碼的藝術》by Michael Feathers
我認為沒有任何一本書能向這本書一樣影響了我的編程觀點。它明確地告訴你如何處理其他人的代碼,含蓄地教會你避免哪些(以及為什麼要避免)。
同意。很多開發人員討論用干凈的石板來編寫軟體。但我想幾乎所有開發人員的某些時候是在吃其他開發人員的狗食。– Bernard Dy
13、《編碼:隱匿在計算機軟硬體背後的語言》
我推薦CharlesPetzold的《編碼》。在這個充滿工具和IDE的年代,很多復雜度已經從程序員那“抽取”走了,這本書一本開眼之作。 –hemil
14、《程序員健康指南》
3. 程序員在上班時,允不允許大量的看說明文檔來幫助寫程序
程序員日常開發工作,基本是上離不開閱讀文檔,這也是很多程序員喜歡兩個顯示器的原因。
項目方面
技術方面
是不是很多人都認為,如果在開發過程中,還要不斷地翻技術文檔,說明他的開發能力不扎實。其實不是這樣的。
首先IT行業技術升級換代的速度太快,當我們大多數公司還在用Java8的時候,Java11都已經出來了。如果非得要程序員熟知每一個類、每一個方法,是很不現實的。
很多時候我們只需要了解有這么一個東西,作用是干什麼的,具體的細節可以在用的時候再去翻文檔,比如方法名字是什麼?參數有幾個,都是什麼類型的?
所以我們都習慣至少兩個電腦屏幕,一個屏幕寫代碼,一個屏幕看文檔;如果豪一些的話,再加一個屏幕展示日誌信息。
看文檔的屏幕要買豎屏!
我們團隊
我這幾年也帶過幾個團隊,對於每個團隊成員,我對他們的要求是:實現需求的前提下,最好能對所用的技術有一定的了解,千萬不要從網上抄過來一段代碼就用,這樣是很危險的行為。所以鼓勵大家多找一些資料,最好是閱讀框架的官方文檔。
現在的團隊,我已經這樣要求了:代碼寫累了,或者覺得自己沒有狀態寫代碼,可以找點兒自己有興趣的技術文檔學習學習,這個技術甚至是可以跟現在的項目沒有關系的。
首先,我不是程序員,我是一個設計工作者,不過我來說一下我的觀點:很多人以為程序員像電影里的一樣,啪啪啪幾下鍵盤,屏幕數據颼颼的變,其實真實情況是程序員寫代碼就像學生寫作文,也會遇到不會的詞語跟修辭手法,那這個時候就要停下來想一想,查一查,看看例子是怎樣寫的怎樣用的,寫錯了還要劃掉(刪掉)再來,至於這個大量不大量看的情況,如果這個是個新手,那肯定是可以的,那如果是個老手,還需要大量時間查說明文檔,那就說明這個項目肯定不會小,不是一兩天能做完的,那一個用月做單位的項目,用一個天做單位的時間來查文檔,不過分吧!程序員也是人,不是因為他的工作高端,就覺得這個人萬能,他也會當機,要吃飯,要休息,也會忘記一些東西,所以請各位多多體諒,能一起工作實屬不易,感恩2018,謝謝。
這個問題怎麼說呢,開發過程中會遇到各種各樣的問題,沒有一個人是全能的,也沒有人可以絕對的說自己在整個項目中不會遇到一點問題,不去查東西,自己大腦里的東西完全可以讓我把這個項目測測底底的做完,並且沒有任何bug。
上班的時間,也沒有老闆或者誰在後面一直看著你去做東西,大家都挺忙。文檔是幹嘛的,文檔本身就是用來看的,甚至很多項目開始之前,總監都會讓你去搜集一些這個項目可能會遇到的bug,可能會用到的效果,盡量在之前找到比較好用的插件,這樣會節省很多時間,自己如果寫代碼的話不可能百分百的確定沒有人和bug,但插件不一樣很多插件都是前輩通過很長時間慢慢完善出來的插件,所以很多人才會用。所以你提問的可以肯定的回答你允許。
程序員上班的主要工作就是看說明文檔,根據說明文檔編碼。如果實在沒有說明文檔,有時還得親自披掛上陣寫說明文檔。
寫介面的有API文檔,寫通訊協議的有協議欄位說明文檔,寫資料庫的有資料庫規範文檔,
總之任何一個大公司文檔扮演的一個至關重要的問題,因為形不成文檔,公司管理就會陷入混亂不堪的局面,當某個核心員工離職後,下一個接盤的程序員會丈二和尚摸不著頭腦,一頭霧水,邊填坑邊罵娘,有了文檔就可以看文檔結合代碼,了解其中模塊邏輯以及結構,包括哪些坑不能踩等等好處。有些公司會專門有文檔工程師這個職位來專門負責整理各種文檔,並且保存在伺服器上。
好的文檔都是程序員等人智慧的結晶,是一盞指路明燈,是一條通往光明的道路。程序員不能看說明文檔等於在黑暗裡摸爬滾打,有了說明文檔才迎來了黎明的曙光。
說個我遇到的2個真事吧,
第一個,公司找的外包公司寫項目程序,已經要交付了,發現有幾個功能沒做,產品經理和開發那邊都找我,我一個搞運維的又不懂,只能讓他們去對開發文檔,我也就順便看了看,開發文檔中明確的寫明怎麼做,然後就讓他們就重新按開發文檔繼續寫,
另一個,由於 歷史 原因業務系統處於託管狀態,只有部分參考文檔可用,開發那邊只能按當前已有文檔進行開發參考,開發那邊也一直在根據現有相關文檔進行開發,杯具的是這幫子不仔細看,有問題總想著我能直接給他們答案,我也只是會用而已,開發我還真搞不來,然後和他們一起看開發文檔,加密演算法部分給她們指出後,問題解決了。
所以我覺得,開發團隊在開發中很有必要閱讀開發文檔,這可以避免繞圈子,也會清楚開發文檔中提供的內容。
先說觀點,我認為看文檔沒什麼問題,但是「大量」這個程度很難衡量,按照需要看文檔是個非常重要的事情。
需要花費時間的情況 不需要花費大量時間的情況 小結
在工作中閱讀文檔其實也是工作內容的一部分,而且現在大多數互聯網公司都靠KPI進行考核,平時就算你把時間都用來看文檔沒關系,最後KPI沒完成一樣會被公司淘汰。所以公司不會阻攔你花費時間看文檔,最多你老闆會提醒你浪費這么多時間看文檔而沒有實際的產出會對你年終考核造成影響罷了。
題主對文檔的定義不是很明確
第一個是需求說明文檔
這個是在開發過程中必不可少的文檔,只有清楚了開發需求,程序員高效率的開發,程序員一天的工作時間並不是都是在寫代碼,而是在看文檔,了解需求,理清思路,只有什麼都清楚了,寫代碼或許只要十幾分鍾。
再者對於一個項目新人來說不看文檔了解需求,沒人給你從頭到尾的在講一遍需求,你不看文檔自己發揮?進入項目是和別人共同開發,你不肯能不顧及之前的代碼規范。
第二個是開發文檔
就拿微信開發來說,微信開發不是每個程序員必須會的東西,但是用到了怎麼辦,還不是去看他們的開發文檔,只有將開發文檔思路理清楚了,才可以進行下一步開發。
第三個是API文檔
在前後端分離的開發模式中API文檔是必不可少的文檔。不看API不知道數據是什麼樣。也就是不可能順利的和後端進行結合。
兄dei,假設你是程序員,你在寫程序時,旁邊會有人守著你嗎?
假設你不是程序員,你在做本職工作時,旁邊會有人守著你看你怎麼做事嗎?
答案肯定是沒有的。誰會閑著招個人去監督你,看你用什麼方式去完成給你的任務。
所以,其實你看不看大量文檔,沒有人會在乎,關鍵是你自己,建議自己寫東西時,不要一味的復制粘貼,要有自己的想法。太依賴文檔對於自己成長很不利
當然允許看文檔。
要知道,隨便哪個類庫,都有無數的類和方法,每個方法又有若干參數,鬼知道它們都是什麼意思,誰的腦子能記得那麼多內容。別說是人家提供的類庫,就是自己寫的代碼,過一段時間也不記得什麼意思了。沒有注釋和文檔,怎麼看懂代碼?
如果沒有需求分析文檔,程序員怎麼理解正在開發的這個軟體的基本業務流程?
如果沒有架構設計文檔,程序員怎麼理解軟體各個功能模塊之間的功能與業務邏輯?
如果沒有介面文檔,那麼多類和方法,都怎麼調用,會返回什麼值,難道靠猜?
……
在日常開發工作中,不僅允許看文檔,還會強迫你寫文檔。如果你寫的文檔別人看不懂,別怪領導罵你不認真。文檔對於軟體開發的重要性是不言而喻的。
還有一個秘密告訴你,那些經常寫文檔的程序員,要比不寫文檔的程序員工資更高。
真的!!!
迎娶白富美,從會寫文檔開始!
這個問題要根據具體開發的功能模塊來看,不過原則來說,花大量的時間看說明文檔,至少給人的印象是經驗不夠豐富,開發能力有待提高。
具體來說,如果是普通的功能開發,技術挑戰不大,這種如果還要看文檔,會被認為是開發能力問題。如果是有一定的技術挑戰,公司在這方面的積累比較少,開發團隊也對此有共識,這種問題看文檔無可厚非,當然如果能業余時間學習相關的知識,會給團隊留下開發能力強的印象。對於一些前瞻性研究,公司沒有任何技術積累,或者全新的技術方向,這個看說明文檔是加分的,甚至可以要求公司購買相關書籍或者在線培訓,當然,自己啃下來會更NB。