● 本書是作者圍繞軟件工程能力所做的系列培訓的內容匯編。這些內容來源于作者20 多年以來對軟件工程的學習體會和項目實踐,以及對中國工業界軟件工程師的觀察和教育實踐。
● 全書共8章,第1 章說明了什么是軟件工程能力,闡述了軟件工程能力中的素質要求。第2~8章分別從代碼、文檔、項目管理這三個方面講解了提升軟件工程能力素質的實踐方法。 對于代碼,第2章\"代碼的藝術”對其進行了總體說明,第3 章重點說明了代碼評審,第4章以Mini-spider 為例說明了方法如何運用。 對于文檔,第5章說明了如何寫好項目文檔,第6章說明了做研究的基本方法。對于項目管理,第7章簡要說明了如何做好項目管理,第8章重點說明了如何做好項目溝通。
適讀人群 :軟件工程師和管理者;計算機和軟件方向的在校學生。 ● 百度學院精品課“代碼的藝術”核心內容首次成書,百度技術培訓中心官方指定用書。
● 清華大學、IT名企開設“代碼的藝術”課程及講座,課程獲廣泛贊譽。
● 成為優秀軟件工程師三條路徑:
(1)學習-思考-實踐;
(2)知識-方法-精神;
(3)基礎乃治學之根本。
● 具備正確的意識比掌握具體的知識更重要。
● 讀者對象:軟件工程師和管理者;計算機和軟件方向的在校學生。
● 隨書附贈配套視頻,作者在線一對一答疑等增值服務。
本書是筆者圍繞軟件工程能力所做的系列培訓的內容匯編。這些內容來源于筆者20多年以來對軟件工程的學習體會和項目實踐,以及對中國工業界軟件工程師的觀察和教育實踐。
關于軟件開發的書已經有很多,軟件工程師閱讀最多的書或許是對某種編程語言的深入解讀,或許是對某種架構方法的闡述。或許由于意識上的偏差,很多軟件從業者即使已工作多年,但由于對軟件工程理論相關圖書閱讀較少,因此對軟件研發的基本理念和原則還是了解得不多。
編寫本書的目的是提升軟件工程師的基本意識。對于一名軟件工程師來說,具備正確的意識比掌握具體的知識更重要。如果具備正確的意識,即使在工作中不記得具體的知識點,也可以在需要的時候進行查閱,而反過來就不是這樣了。
本書對一名軟件工程師應具備的基本意識和所需掌握的基本方法進行了全貌性介紹,同時內容又不會過于理論化和艱深。由于篇幅限制,本書對很多內容只做了入門性介紹,并向希望繼續深入學習的讀者提供了相關圖書參考建議。
真誠希望讀者能夠從本書開始,更多地去閱讀軟件工程方面的專業圖書,因為軟件工程師對軟件研發的學習和深入理解是永無止境的。
本書的目標讀者包括:
(1)軟件工程師和管理者。本書中的多個章節已經是百度內部軟件工程師的必修課內容。筆者也曾多次以“代碼的藝術”為題在多家知名互聯網企業做過分享,不僅僅是剛參加工作的軟件工程師給出了較好的反饋,很多資深軟件工程師也反饋良好。
(2)計算機和軟件方向的在校學生。本書介紹的很多方法是筆者在大學時就開始使用的。很多本科生和研究生其實在學校就已經開始參加較復雜的軟件研發項目了,他們可以將本書介紹的方法立刻應用在這些項目實踐中。更早地具備正確的軟件研發意識,將為一個人后續的職業發展打下良好的基礎。
本書的內容來源于培訓課程材料或演講材料,在章節編排和內容組織上仍然保持了培訓課程和演講的原貌。每一章都有明確的主題,可以獨立閱讀,而全書的內容又形成了一個完整體系。
全書組織如下(見圖P.1)。
第1章首先說明了什么是軟件工程能力,闡述了軟件工程能力中的素質要求。
第2~8章分別從代碼、文檔和項目管理這三個方面講解了實踐方法。
對于代碼,第2章“代碼的藝術”對其進行了總體說明,第3章重點說明了代碼評審,第4章以Mini-spider為例說明了方法如何運用。
對于文檔,第5章說明了如何寫好項目文檔,第6章說明了做研究的基本方法。
對于項目管理,第7章簡要說明了如何做好項目管理,第8章重點說明了如何做好項目溝通。
章淼,博士,百度智能云資深研發工程師,BFE開源項目發起人。
1997年至2006年在清華大學從事互聯網協議和網絡體系結構的研究。
2012年加入百度,一直從事網絡基礎架構的研發工作。同時積極推動百度的代碼質量和工程能力的提升,百度技術培訓中心“金牌講師”,曾任百度代碼規范委員會主席。