一、請回望暑假時的第一次作業,你對于軟體工程課程的想象
1)對比開篇部落格你對課程目标和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競争力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目标,哪些方面還存在哪些不足,為什麼?
其實感覺差不多...
2)總結這門課程的實踐總結和給你帶來的提升,包括以下内容:
1、統計一下,你在這門軟體工程實踐中,完成了多少行的代碼;
這個不太好統計...每次作業中那個表其實是把自己做的一些其他的東西也算進去了。
這學期看了一下大概新增代碼行數7500左右
2、軟工實踐的各次作業分别花了多少時間?(做一個清單)
3、哪一次作業讓你印象最深刻?為什麼?
臨近考試前的那次吧,...,生死時速,緊張刺激。
4、累計花了多少個小時在軟工實踐上?平均每周花多少個小時?同時貼出開篇部落格“你打算平均每周拿出多少個小時用在這門課上”的回答
但當時的回答是:
每周拿出多少時間我覺得這是很難量化的,我覺得的理想狀态是每次都能夠以比較高的品質完成每次的作業。同時掌握一些比較深入的東西,并在課程中進行應用。
個人認為應該沒有完全做到吧,一開始有很多想法,很多想嘗試的。受限于各種成本以及一些考量,并沒有很好的完成自己想象中想實作的東西。 例如本來想做特别好看的互動動畫...(後來還是先把功能實作了再扯别的...
5、學習和使用的新軟體;
石墨文檔???
6、學習和使用的新工具;
...無git更熟悉了一些吧
7、學習和掌握的新語言、新平台;
...并沒有... 在已經掌握的裡面...,本來有想嘗試使用Kotlin的...但還是覺得切換的成本較高,不過後續肯定是會逐漸轉向Kotlin的
8、學習和掌握的新方法;
涉及到了Android中的自定義View,這塊的東西之前陸陸續續學了一些,但是沒有怎麼實踐過,之前的經曆可能也就隻有在别人的基礎上改改監聽器,這次的話更加深入。
9、其他方面的提升。
協作能力,以及溝通,還有對事情的優先級的安排。
二、寫下屬于自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+執行個體/例證結合的分析
三、對下一屆實踐的建議,或者對于開學初的你,對于大一的你,對于開學初的我,對于同期的TA們,對于後來的學弟學妹:
1)你有什麼想建議、告知和期許想要告訴他們呢?
在有精力的前提下,學習一些技能吧,不要隻局限于課内的知識,多探索。隻要感興趣的東西都可以學學。
2)特别地,特别地,下一屆要不要中途換隊員(強制的、徹底的從一隊換到另一隊)?假設依舊是一個90+人數的大班
這個倒不是很推薦,實際過程中,時間是比較不夠的,換隊的話是會增加時間成本的,并且存在一些問題。(如果隻是某次課堂作業的話,那倒是沒問題。
3)身在一個格外大的班級,競争強勁,你認為一個組的人數應當在多少比較合适?
如果要讓人有比較強的壓迫感的話,人數大概在6~8人會合适點。
4)個人/結對/團隊作業應該控制在怎樣的規模?
主要是結對/團隊的比例高點就行。能讓人體驗到協作開發的方式。
5)這學期下來,你最感謝的人是誰?有什麼話想要對TA說呢?
四、分析一下自己所處的團隊。軟體工程實踐是大學裡少有的認真的團隊協作經驗。《建構之法》上說團隊的發展有幾個階段,你的團隊都經曆過麼,最後到達了“創造”階段了麼?(參考《建構執法》第17章 人、績效和職業道德)
勉強達到創造階段吧,已經比較規範完善了。
五、怎樣證明你學會了軟體工程?
1)研發出符合使用者需求的軟體
必須公開釋出,有實際的使用者,一定的使用者量和持續使用量 (3 天後能保持10 - 100個使用者);而不是: 做沒有使用者使用的軟體
已經有一些人會使用,後續情況如何就比較難預測了。
2)通過一系列工具,流程,團隊合作,能夠在預計的時間内釋出 “足夠好” 的軟體
有項目規劃/需求/設計/實作/釋出/維護,有定時的進度釋出;而不是: 通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲傳遞等方式糊弄
整個過程中隻熬夜過一次,其他的功能都是徐徐推進的,分工明确,每個人完成各自的部分。
3)并且通過資料展現軟體是可以維護和繼續發展的。
而不是 找不到源代碼,代碼無文檔,代碼不能編譯,沒有task/bug 等項目的發展資料
4)對着這個檢查表:http://xinz.cnblogs.com/p/3852177.html 檢查一下,自己如果去企業面試,這些常見的問題是否都能回答,并在此總結。
軟體測試:确實是沒有,自己日常寫代碼不會去做專門的軟體測試,就寫完大概運作一下覺得沒問題就放過去了,
但實際的話應該進行比較全面的測試。
工具/社群: 開發Android的話就使用Android Studio, 寫Java的話IDEA,Python的話比較喜歡用Jupyter。GitHub的話Public的就Android很早之前寫的一個富文本記事本。有些Privavte的,後續有比較有意思的想法的話會分享出來。
一些感想
其實整個過程不是特别困難和痛苦,依舊沒有喪失對coding的熱情。
但同時也感覺到了在ddl下碼代碼的感受。
技術方面有一些小成長,接下去還要繼續努力。
每天看看一些自己感興趣的東西,不要停止前進就行。