本周學習了構建之法的第三、四章竣贪,對于如何成為一個合格的軟件工程師有了基本的了解军洼;
第三章主要講述了評價軟件工程師的水平的主要方法,技能的反面演怎,TSP對個人的要求匕争;
初級軟件工程師應該如何成長:
1、積累軟件開發(fā)相關知識爷耀,提升技術技能甘桑;
2、積累問題領域的知識和經(jīng)驗歹叮;
3跑杭、對通用的軟件設計思想和軟件工程思想的理解;
4咆耿、提升職業(yè)技能德谅;
5、實際成果萨螺;
如何衡量軟件開發(fā)的工作量和質(zhì)量:
a.項目/任務有多大窄做?
b.花了多少時間?
c.質(zhì)量如何慰技?
d.是否按時交付椭盏;
團隊對于個人的期望:1.交流2.說到做到3.接受團隊賦予的角色并按角色要求工作4.全力投入團隊的活動5.按照團隊流程的要求工作6.準備7.理性地工作;
軟件工程師的職業(yè)發(fā)展:
1.職業(yè)發(fā)展——考級之路:如計算機等級考試和全國計算機技術和軟件專業(yè)技術資格考試以及一些公司自己的認證項目吻商;
2.職業(yè)成長——Steve McConnell版本:一個軟件工程師需要具備一定的知識和能力掏颊,工程師還有職業(yè)成長級別;
3.職業(yè)成長——大公司版本:大公司對于一個工程師有自己的判斷方法手报;
4.職業(yè)成長——自我評估:如何做一個CRUD蚯舱;
還講了技能的反面,需要知其然掩蛤,更要知其所以然。用魔方的例子來進行講解陈肛;
第四章的理論和知識點有:代碼規(guī)范揍鸟、極限編程、結(jié)對編程、兩人合作的不同階段阳藻、影響他人的技巧晰奖。了解了結(jié)對任務以及結(jié)對時應該注意的問題和結(jié)對的好處。當我們在編寫代碼中腥泥,代碼的規(guī)范對我們個人以及團隊有很重要的意義匾南,如果我們編寫的代碼沒有一定的格式那么當我們在回過頭查看代碼的時候就會不知道自己當初寫的是什么了,更是會讓我們無從下手,而當團隊中的成員審查你的代碼的時候更是對整個團隊造成了影響蛔外。講到代碼編寫格式蛆楞,那么我們其中要注意的是每編寫一句要盡量的加上注釋以便能夠很好的讀懂每個代碼的含義。另外在編寫的時候一定要注意我們的命名夹厌。
一豹爹、代碼規(guī)范
1、代碼風格規(guī)范矛纹。主要是文字上的規(guī)定臂聋,看似表面文章,實際上非常重要或南。
代碼風格的原則是:簡明孩等,易讀,無二義性采够。包括了:縮進肄方、行寬、括號吁恍、斷行與空白的{}行扒秸、分行、命名冀瓦、下劃線伴奥、大小寫、注釋翼闽。
2拾徙、代碼設計規(guī)范。牽扯到程序設計感局、模塊之間的關系尼啡、設計模式等方方面面的通用原則。
包括:函數(shù)询微、goto崖瞭、錯誤處理。
二撑毛、代碼復審
包括:自我復審书聚、同伴復審、團隊復審
代碼復審的目的:
1、找出代碼的錯誤雌续。
2斩个、發(fā)現(xiàn)邏輯錯誤,程序可以編譯通過驯杜,但是代碼的邏輯是錯的
3受啥、發(fā)現(xiàn)算法錯誤,比如使用的算法不夠優(yōu)化鸽心,邊界條件沒有處理好等
4滚局、發(fā)現(xiàn)潛在的錯誤和回歸性錯誤
5、發(fā)現(xiàn)可能需要改進的地方
6再悼、教育開發(fā)人員核畴,傳授經(jīng)驗,讓更多的成員熟悉項目各部分的代碼冲九,同時熟悉和應用領域相關的實際知識
為什么要做代碼復審谤草?
1.人不可能不犯錯誤
2.讓新員工快速融入
代碼復審的步驟
1.代碼必須成功地編譯,在所有要求的平臺上莺奸,同時要編譯Debug|Retail版本丑孩。編譯要用團隊規(guī)定的最嚴格的編譯警告等級(例如C/C++中的W4)
2.程序員必須測試過代碼。
3.程序員必須提供新的代碼灭贷,以及文件差異分析工具温学。
4.復審者可以選擇面對面的復審、獨立復審或其他方式甚疟。
5.在面對面的復審中仗岖,一般是開發(fā)者控制流程,講述修改的前因后果览妖。但是復審者有權在任何時候打斷敘述轧拄,提出自己的意見。
6.復審者必須逐一提供反饋意見讽膏。注意檩电,復審者有權提出很多看似吹毛求疵的問題,復審者不必親自調(diào)查每一件事府树,開發(fā)者有義務給出詳盡的回答俐末。
7.開發(fā)者必須負責讓所有的問題都得到滿意的解釋或解答,或者在TFS中創(chuàng)建新的工作項以確保這些問題會得到處理奄侠。
8.對于復審的結(jié)果卓箫,雙方必須達成一致的意見。
1)打回去——復審發(fā)現(xiàn)致命問題垄潮,這些問題在解決之前不能簽入代碼丽柿。
2)有條件地同意——發(fā)現(xiàn)了一些小問題恢准,在這些問題得到解決或記錄之后魂挂,代碼可以
簽入甫题,不需要再次審核。
3)放行——代碼可以不加新的改動涂召,簽入源碼控制服務器坠非。
列舉一個簡單的代碼復審核查表:1、概要部分果正、2炎码、實際規(guī)范部分、3秋泳、代碼規(guī)范部分潦闲、4、具體代碼部分迫皱、5歉闰、效能、6卓起、可讀性和敬、7、可測試性
三戏阅、結(jié)對編程
1昼弟、結(jié)對編程的好處:①在開發(fā)層次,結(jié)對編程能提供更好的設計質(zhì)量和代碼質(zhì)量奕筐,兩人合作解決問題的能力更強舱痘。②對開發(fā)人員自身來說,結(jié)對工作能帶來更多的信心离赫,高質(zhì)量的產(chǎn)出能帶來更高的滿足感芭逝。③在企業(yè)管理層次上,結(jié)對能更有效地交流笆怠,相互學習和傳遞經(jīng)驗铝耻,分享知識,能更好地應對人員流動蹬刷∑白剑總之,如果運用的得當办成,結(jié)對編程可以取得更高的投入產(chǎn)出比泡态。
四、兩人合作的不同階段和技巧
1迂卢、萌芽階段
2某弦、磨合階段
3桐汤、規(guī)范階段
4、創(chuàng)造階段
5靶壮、解體階段