个人作业3——个人总结(Alpha阶段)
個人總結(jié)
一、問題
? ? 1、書中1.2.4中提到“是否是Bug,取決于用戶和開發(fā)者的不同角度。很多人認(rèn)為有Bug就是質(zhì)量不合格,沒有Bug就是質(zhì)量完美,其實(shí)這也未必?!边@段話讓我對Bug的概念認(rèn)識不清了,難道Bug不是做項(xiàng)目開發(fā)過程中的錯誤和沒有實(shí)現(xiàn)不了預(yù)期功能,也就是質(zhì)量不合格嗎?
? ? 2、書中4.6.1中關(guān)于兩人的合作——如何影響對方中提到“一個成熟的工程師要琢磨對方的話語和觀察對方的肢體語言,了解它們所表達(dá)的潛臺詞”。我認(rèn)為肢體語言表達(dá)的是一個人的情緒問題,而我們在合作過程中注重的應(yīng)該是程序所展現(xiàn)的問題,為什么要花時間去琢磨對方的肢體語言呢?
? ? 3、書中5.2.9中的功能團(tuán)隊(duì)模式中提到的“feature crew”,即無領(lǐng)導(dǎo)的團(tuán)隊(duì),書中還說到大型軟件公司里面的不少團(tuán)隊(duì)都是采用這種模式。我想問無領(lǐng)導(dǎo)團(tuán)隊(duì)不會造成組員對任務(wù)懈怠的情況嗎?
? ? 4、書中12.4中我們在完成所有要求的功能之后,請求他人嘗試使用后功能都很完善,這樣我們是不是還要糾結(jié)于產(chǎn)品的界面細(xì)節(jié)設(shè)計(jì)呢?比如說某些按鈕的位置等等
? ? 5、書中13.3中在開發(fā)完所有功能之后的測試階段,對于一種功能,或許會有很多種的輸入,我們是不是要一種一種的去測試?如果不要,這樣測試的結(jié)果會不會不夠精確;
二、自我評價(jià)表
1.當(dāng)你看到不靠譜的設(shè)計(jì)、糟糕的代碼、過時的文檔和測試用例的時候,不要想 “既然別人的代碼已經(jīng)這樣了,我的代碼也可以隨便一點(diǎn)啦?!?(C)
??? a) 從來沒聽說過;?? b) 我就是這樣隨便過來的;? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
2. 主動解決問題。當(dāng)看到不靠譜的設(shè)計(jì),糟糕的代碼的時候,不要想“可能別人會來管這個事情” ,或者“我下個月發(fā)一個郵件讓大家討論一下”。要主動地把問題給解決了。(C)
???a) 不懂啥是靠譜的設(shè)計(jì);?? b) 隨便應(yīng)付一下即可;? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
3. 經(jīng)常給自己充電,身體訓(xùn)練是運(yùn)動員生活的一部分,學(xué)習(xí)是軟件工程師職業(yè)的伴侶。每半年就要了解和學(xué)習(xí)一些新的相關(guān)技術(shù)。通過定期分享(面對面的分享,寫技術(shù)博客等)來確保自己真正掌握了新技術(shù)。(C)
???a) 從來不看書;?? b) 看了就忘;? c) 有時分享。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
4. DRY (Don't Repeat Yourself)——別重復(fù)。在一個系統(tǒng)中,每一個知識點(diǎn)都應(yīng)該有一個無異議的、正規(guī)的表現(xiàn)形式。(C)
???a) 從來沒聽說過;?? b) 聽說過,但是認(rèn)為意思不大;? c) 這要講場合。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
5. 消除不相關(guān)模塊之間的影響,在設(shè)計(jì)模塊的時候,要讓它們目標(biāo)明確并單一,能獨(dú)立存在,沒有不明確的外部依賴。(C)
???a) 從來沒聽說過;?? b) 出了問題再說吧;? c) 想做,但是不知道怎么衡量效果。? d)?能夠在多種語言和架構(gòu)中做到???? e) 不但主動做, 還會影響同事一起做好
?
6. 通過快速原型來學(xué)習(xí),快速原型的目的是學(xué)習(xí),它的價(jià)值不在于代碼,而在于你通過快速原型學(xué)到了什么。(C)
???a) 從來沒聽說過;?? b) 把原型直接用于產(chǎn)品,不然就浪費(fèi)了;? c) 不用原型,一直在產(chǎn)品中直接改。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
7. 設(shè)計(jì)要接近問題領(lǐng)域,在設(shè)計(jì)的時候,要接近你目標(biāo)用戶的語言和環(huán)境。(C)
???a) 從來沒聽說過;?? b) 按我的想法設(shè)計(jì),用戶以后會適應(yīng)的;? c) 大概同意,但是怎么接近用戶呢?? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
8. 估計(jì)任務(wù)所花費(fèi)的時間,避免意外。在開始工作的時候,要做出時間和潛在影響的估計(jì),并通告相關(guān)人士,避免最后關(guān)頭意外發(fā)生。工作中要告知可能的時間變化,事后要總結(jié)。(D)
???a) 做完了,就知道花費(fèi)了,不用事先估計(jì);?? b)?大概估一下,不必在意時間 ? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
9. 圖形界面的工具有它的長處,但是不要忘了命令行工具也可以發(fā)揮很高的效率,特別是可以用腳本構(gòu)建各種組合命令的時候。(A)
???a) 一直用鼠標(biāo)和GUI;?? b) 到時候問牛人;? c) 正在學(xué)習(xí)命令行工具。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
10. 有很多代碼編輯器,請把其中一個用得非常熟練。讓編輯器可以實(shí)現(xiàn)自己的定制,可以用腳本驅(qū)動,用起來得心應(yīng)手。(B)
???a) 只用老師教的一個;?? b) 隨意;? c) 沒有任何定制。? d)?會定制,并且分享給其他人???? e)?還會學(xué)習(xí)和使用各種編輯器的擴(kuò)展。
?
11. 理解常用的設(shè)計(jì)模式,并知道擇機(jī)而用。設(shè)計(jì)模式不錯,更重要的是知道它的目的是什么,什么時候用,什么時候不用。(B)
???a) 從來沒聽說過;?? b) 模式?jīng)]用;? c) 每寫100行程序,我就盡量用一個模式。? d)有實(shí)際使用的經(jīng)驗(yàn)???? e) 能用具體代碼說明模式的利弊
?
12. 代碼版本管理工具是你代碼的保障,重要的代碼一定要有代碼版本管理。(B)
???a) 從來沒聽說過;?? b) 用QQ,u盤即可;? c) 領(lǐng)導(dǎo)要求才用。? d)?經(jīng)常用???? e) 不但主動做, 還會影響同事一起做好
?
13. 在debug的時候,不要驚慌,想想導(dǎo)致問題的原因可能在哪里。一步一步地找到原因。要在實(shí)踐中運(yùn)用工具,善于分析日志(log),從中找到bug。同時,在自己的代碼里面加 log.(B)
???a) 從來沒聽說過;?? b) 只會printf;? c) 加log 太麻煩,我的代碼不會有bug 的。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
14. 重要的接口要用形式化的“合同”來規(guī)定。用文檔和斷言、自動化測試等工具來保證代碼的確按照合同來做事,不多也不少。使用斷言 (assertion) 或者其他技術(shù)來驗(yàn)證代碼中的假設(shè),你認(rèn)為不可能發(fā)生的事情在現(xiàn)實(shí)世界中往往會發(fā)生。(C)
???a) 從來沒聽說過;?? b) 太麻煩,不用;? c) 想用,但沒有時間。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
15. 只在異常的情況下才使用異常 (Exception),? 不加判斷地過多使用異常,會降低代碼的效率和可維護(hù)性。記住不要用異常來傳遞正常的信息。(C)
???a) 從來沒聽說過;?? b)?抓住所有異常? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
16. 善始善終。如果某個函數(shù)申請了空間或其他資源,這個函數(shù)負(fù)責(zé)釋放這些資源。(B)
???a) 從來沒聽說過;?? b) 隨緣;? c) 有時這樣做。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
17. 當(dāng)你的軟件有多種技術(shù)結(jié)合在一起的時候,要采用松耦合的配置模式,而不是要把所有代碼都混到一起。(B)
???a) 從來沒聽說過;?? b) 沒有實(shí)踐的機(jī)會;? c) 代碼都在一起比較好管理。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
18. 把常用模塊的功能打造成獨(dú)立的服務(wù),通過良好的界面 (API) 來調(diào)用不同的服務(wù)。(B)
???a) 從來沒聽說過;?? b)?拷貝代碼過來用也可以? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
19. 在設(shè)計(jì)中考慮對并行的支持,這樣你的API 設(shè)計(jì)會比較容易擴(kuò)展。(B)
???a) 從來沒聽說過;?? b) 并行不會出錯的;? c) 任何代碼都應(yīng)支持并行。? d)?考慮在適當(dāng)?shù)膶哟沃С植⑿???? e) 不但主動做, 還會影響同事一起做好
?
20. 在設(shè)計(jì)中把展現(xiàn)模塊 (View) 和實(shí)體模塊 (Model) 分開,這樣你的設(shè)計(jì)會更有靈活性。(C)?
???a) 代碼都在一起比較好改;?? b) 隨緣啦;? c) 沒搞清楚啥是V,啥是M。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
21. 重視算法的效率,在開始寫之前就要估計(jì)好算法的效率是哪一個數(shù)量級上的(big-O)。(B)
???a) 從來沒聽說過;?? b) 我的數(shù)據(jù)量不大,無所謂;? c) 不會有效率問題的,現(xiàn)在CPU 都快了。? d)?主動測試程序效率,以驗(yàn)證估算???? e) 不但主動做, 還會影響同事一起做好
?
22. 在實(shí)際的運(yùn)行場景中測試你的算法,不要停留在數(shù)學(xué)分析層面。有時候一個小小的實(shí)際因素 (是否支持大小寫敏感的排序,數(shù)據(jù)是否支持多語言)會導(dǎo)致算法效率的巨大變化。(A)
???a) 從來沒聽說過;?? b)?想用,但不知道工具? c) 主要靠肉眼觀察算法效率。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
23. 經(jīng)常重構(gòu)代碼,同時注意要解決問題的根源。(A)
???a) 從來沒聽說過;?? b) 任何修改都可以叫重構(gòu);? c) 每天應(yīng)該重構(gòu)兩次。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
24. 在開始設(shè)計(jì)的時候就要考慮如何測試 ,如果代碼出了問題,有l(wèi)og 來輔助debug 么? 盡早測試,經(jīng)常測試,爭取實(shí)現(xiàn)自動化測試,爭取每一個構(gòu)建的版本都能有某些自動測試。(D)
???a) 從來沒聽說過;?? b) 我的代碼不會出問題的;? c) 項(xiàng)目沒有安排時間,我也沒有提這事。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
25. 代碼生成工具可以生成一堆一堆的代碼,在正式使用它們之前,要確保你能理解它們,并且必要的時候能debug 這些代碼。(A)
???a) 從來沒聽說過;?? b) 從來不看那些代碼;? c) 那些代碼沒有bug。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
26. 和一個實(shí)際的用戶一起使用軟件,獲得第一手反饋。 (C)
???a) 從來沒聽說過;?? b) 用戶太蠢,不值得聽反饋;? c) 想做但是沒有機(jī)會。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
27. 在自動測試的時候,要有意引地入bug,來保證自動測試的確能捕獲這些錯誤。(A)
???a) 沒聽說過;?? b)?不必這么麻煩; ? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
28. 如果測試沒有做完,那么開發(fā)也沒有做完。(C)
???a) 從來沒聽說過;?? b) 簽入代碼,就是做完了;? c) 。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
29. 適當(dāng)?shù)刈非蟠a覆蓋率:每一行的代碼都覆蓋了,但是程序未必正確。要確保程序覆蓋了不同的程序狀態(tài)和各種組合條件。(B)
???a) 從來沒聽說過;?? b) 覆蓋20% 就好了;? c) 要覆蓋至少60%。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
30. 如果團(tuán)隊(duì)成員碰到了一個有普遍意義的bug,? 應(yīng)該建立一個測試用例抓住以后將會出現(xiàn)的類似的bug。(A)
???a) 從來沒聽說過;?? b) 每個bug都是特殊的;? c)?測試用例不值得加? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
31. 測試:多走一步,多考慮一層。如果程序運(yùn)行了一星期不退出,如果用戶的屏幕分辨率再提高一個檔次,這個程序會出什么可能的錯誤?(C)
???a) 從來沒聽說過;?? b) 如果有問題,用戶會報(bào)告的,我們不用測這些;? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
32. (帶領(lǐng)團(tuán)隊(duì))了解用戶的期望值,稍稍超出用戶的期望值,讓用戶有驚喜。(C)
??? a) 從來沒聽說過;?? b) 我們決定用戶的期望;? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
33.?(帶領(lǐng)團(tuán)隊(duì)) 不要停留在被動地收集需求,要挖掘需求。真正的需求可能被過時的假設(shè)、對用戶的誤解或其他因素所遮擋。(C)
???a) 從來沒聽說過;?? b) 用戶不說的,我們不做;? c) 如果有明確要求,我可以做好。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
34. (帶領(lǐng)團(tuán)隊(duì))把所有的術(shù)語和項(xiàng)目相關(guān)的名詞、縮寫等都放在一個地方。(C)
???a) 從來沒聽說過;?? b) 都記在我腦子里;? c)?大家看代碼就好? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
35. (帶領(lǐng)團(tuán)隊(duì))不要依賴于某個人的手動操作,而是要把這些操作都做成有相關(guān)權(quán)限的人士都能運(yùn)行的腳本。這樣就不會出現(xiàn)因?yàn)槟橙诵菁俣?xiàng)目被卡住的情況。(D)
???a) 從來沒聽說過;?? b) 我們沒有休假的,沒關(guān)系;? c)?出了問題再說? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
36. (帶領(lǐng)團(tuán)隊(duì))要讓重用變得更容易。一個軟件團(tuán)隊(duì)要創(chuàng)造一種環(huán)境,讓大家有輕松的心態(tài)來嘗試各種想法 (例如,模塊的重用,效能的提升,等)。(D)
???a) 都聽領(lǐng)導(dǎo)的;?? b) 團(tuán)隊(duì)嚴(yán)肅緊張最好;? c) 不必嘗試,失敗的可能性太大。? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
?
37. (帶領(lǐng)團(tuán)隊(duì))在每一次迭代之后,都要總結(jié)經(jīng)驗(yàn),讓下一次迭代的進(jìn)度安排更可靠,質(zhì)量更高。(C)
??? a) 沒有時間總結(jié),直接做下一版;?? b) 總結(jié)用處不大;? c)?如果上級有要求,就做一下;? d) 一直主動這樣做???? e) 不但主動做, 還會影響同事一起做好
轉(zhuǎn)載于:https://www.cnblogs.com/a506504661/p/6858044.html
總結(jié)
以上是生活随笔為你收集整理的个人作业3——个人总结(Alpha阶段)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电影《阿凡达》的内容是?
- 下一篇: 使用jdk生成ssl证书文件