一、回望與展望
1.1 對比現在和開學初部落格開篇的課程目标和期待
當初的目标:
- 提升團隊合作的能力
- 能夠學習到開發的一系列流程,以及如何寫高品質的代碼
- 加強自己的編碼能力,以及編碼習慣
- 熟悉不同平台的開發過程
如今:
- 基本的目标都完成了吧
- 特别是在總結這方面覺得收獲挺大的,在棟哥強制性的部落格下,自己已經喜歡上了寫部落格的快感了
- 編碼能力和對整體架構的了解更加深入了
- 對各種工具的使用有了很大提升,對團隊的協同工作有了極大的感受,一起編碼,一起歡笑,一起生氣ヽ(●-`Д´-)ノ
- 了解開發的一系列流程,之前很大程度以為開發一款軟體主要的是編碼,原來隻是自己一直都是忽略編碼前的工作ヽ(°◇° )ノ。通過這門軟工課了解到了開發前期的準備是多麼重要。
- 在少銘的安利下,然後搭建了一個基于Hexo搭建的github pages,用來記錄自己的七七八八。附上連結:
- 感覺還有挺多不足的,比如在測試方面,由于後期時間有點感,測試做得有點水,不夠檔次啊。
1.2 總結這門課帶來的提升
學習和使用新的軟體
- 墨刀(原型工具)
- Typora(markdown工具,小僑推薦,簡潔優雅大發,很對我的胃口)
- processon(一個很好作圖網站,不論是思維導圖、流程圖、用例圖,通通可以用)
- leangoo(用于協同作業的網站,我們主要來做燃盡圖)
學習和使用新工具
- git的提升是最多的吧。一個人使用不會發現太多問題,多個人問題就來了
- markdown工具,這是在接觸軟工之後才知道的工具。确實很好用,感覺再也不想用記事本了。
學習和掌握的新語言、新平台
- github
- 向小僑學習了一波linux
- 新語言倒是沒學到,但是學習了一波TP5的架構(一開始想用laravel)。之前alpha版本是采用原生的代碼,主要是想延續上屆的風格,但需求一改後,發現不如推到重來。于是花了幾天内看了文檔(之前學的是3.2的)硬是重構代碼,這段時間提升是很明顯的。
統計一下,在軟工實踐上完成了多少行代碼
算上alpha推到的代碼的話,6000-7000這個區段内吧
學習和和掌握的新方法
- 先打好架構在編碼,效率更高
其他的提升
團隊協同能力
二、個人的人月神話
2.1 項目實踐中的經驗總結
- 首先,在編碼之前要做好整體的架構交流,不然很容易引起問題和摩擦。因為我是做背景的,是以在安卓端一直出現的問題也是無能為力。
- 其次,在編碼的過程中,隊員間的通信是很重要的。特别是人多了,通信更加複雜。遇到問題,心平氣和的交流很重要,摩擦大了,後續工作很難開展。
- 最後,統一一份接口文檔,這點體會還是有點深的。因為在編碼的過程中,接口資料一改,安卓端收的資料就發生變化。由于背景有時候交給另一個隊友來調整,造成多份不一樣的文檔,讓安卓端部分隊友懵逼。(這個鍋我背了),是以及時更新和統一文檔很重要。
2.2 執行個體、例證結合的分析
由于在我們這款app有四個不同角色,安卓端有子產品分工的。然後有時候,比如我更新學生端接口,然後忘了更新文檔,隻是把主要修改的地方告知負責的隊友。後來做測試的同學過來了,之後程式就崩潰了。主要原因是沒有統一通知到位,這就造成了不必要的困擾。
三、新人建議
- 不經曆風雨怎麼見彩虹呢?強烈建議棟哥的軟工課,這裡隻有你想不到,沒有你做不到。
- 實話實說,棟哥的軟工課可能是整個計算機課程中最有價值的,對比起來,其他課太水了。在實踐課上,能學到東西真的很多,過程可能是辛苦了點,但結果保證讓你滿意。
- 重要的一點,棟哥的軟工課上不教寫代碼,建議想選這門課的學弟學妹們做好準備。
- 在這麼實踐課上,你見到淩晨的福大那是常有的事。不過,作為計算機專業的學生,沒見過淩晨的福大那就out了。
- 組隊的時候多組點妹子,可以建議棟哥強制配置設定。不然一群大老爺們編碼實在是沒勁啊。
- 想混水摸魚的學弟學妹建議不要來,因為這是一門團隊協同的實踐課,每個人都自己的任務。在這個過程中,最重要的感受一群人一起熬夜、一起吐槽的樂趣。
四、團隊成長
4.1 萌芽
最開始團隊的選題并不是實際需求,一開始是大家提議,最後決定做一款todolist,原因是來自“我賭5毛錢”這個梗,做一款基于監督打賭的效率工具。
4.2 磨合
在團隊的前期準備中,磨合度是展現不怎麼出來了。在編碼階段是最考驗磨合的時候。在接口對接方面,個人覺得做的還不錯,隻是偶爾會出現小失誤,隊員間也是很能夠了解的,畢竟幾乎一個人扛起了一座大山。在安卓端方面就不是那麼如意了,可能是因為子產品太多,負責的幾個隊友經常出現各種沖突,bug也就層出不窮。感覺最大的問題就是交流力度不夠吧。
4.3 規範
在經曆alpha版本之後,背景和前端都進行了一系列的規範。雖然依然存在些許沖突,但是明顯問題少了,隊友間的配合也更加給力了。
4.4 創造
在經曆過此次的項目後,團隊之間會發生的各種問題,我想我們都經曆過了。我覺得這是一個良好的團隊的必經之路,是一種學習,更是一種升華。可能距離創造還有一段距離,但這次寶貴的經曆又如何不是一種創造。
五、讀書筆記——代碼品質是不是一個大泥球
怎麼說呢,感覺自己的代碼品質還有很大的提升空間。在代碼規範方面,自己感覺是做得不錯的,可能是自己一直保持的編碼習慣吧,而且還去看了最新的php代碼規範的文章進行學習,收獲和效果還是挺多的。在子產品化方面自己也是很注重的。在alpha版本中,自己接過上屆的項目,第一想到的就是子產品化。因為上屆代碼挺亂的,還沒注釋。這讓我很生氣。然後在經曆beta階段,就更加注重子產品化了,是以采用了架構對全部代碼進行重構。當然還有一點問題是,代碼複用做得不夠好。沒能很好把複用的代碼進行抽離,還存在備援。當然在編碼中,我會先進行整體架構的建構,做好注釋,再去進行内容的實作。比如在帶隊友編碼的時候,會事先幫他搭好架構,然後他去做具體的邏輯實作,這是一項很大 的進步。
一個項目要好,代碼品質要好這是毋庸置疑的。是以代碼中注釋要便于了解,便于後人的學習。在github中的項目中,當我們去開别人的開源項目,這點就做得很好。是以總的來說,自己的代碼品質還有待提升,不是大泥球,也是個泥球。o(一︿一+)o
六、怎樣證明你學會了軟體工程
研發出符合使用者需求的軟體
因為目前項目就是按照實際需求來做的,如果不出意外的話,我們會有使用者的。
通過一系列工具,流程,團隊合作,能夠在預計的時間内釋出 “足夠好” 的軟體:
因為在開發過程中,通過和需求方的大量讨論,并且在各個隊友的給力的合作下,我們在預期的時間内還是傳遞了。雖然在alpha版本中未能預期完成- - 。不明白“足夠好”是到哪種程度,不過還是需要努力。
并且通過資料展現軟體是可以維護和繼續發展的
感覺這款軟體的發展前途還是很大的,畢竟人工方式太累了。維護方面是必須有的。因為一個軟體大部分的生命周期都處于維護的狀态。o(>﹏<)o不要啊
七、自我介紹
生活不止眼前的苟且,還有詩和遠方的田野
我是來自福州大學數學與計算機科學學院2014級計算機5班的黃家俊,是一個默默前行的小喽啰。當初進到計算機專業,個人是不願意的。但是又不得不接受,從此走上了不歸路。個人沒有比較感興趣的東西。要說真有的話,比較喜歡接觸一些新的事務和折騰一些小工具。來大學三年了,最主要的感受是浪費了很多時間,少接觸了很多東西和失去了很多機會,要學的學得不夠好,要做的沒做夠之類的。總之,如果再來一次,真的得好好規劃一下你要過什麼樣的大學,感覺多年以後自己可能會有點後悔。
“沒有夢想,何必遠方”。既然目标選擇了地平線,留給世界的隻能是背影。雖然在成長的路上充斥各種不如意,但隻有在經曆過才能夠收獲夢想的喜悅。是以,勇敢面對生活吧,騷年!
八、留念
屠龍少年會再次踏上征程的!
部落客已搬家到csdn了