第3-6章做業

一、本週的做業請參照此文:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html 制定本組項目的GitHub版本更新流程

        首先經過該連接咱們能夠學到git flow有兩個長期分支,開發位於develop分支,master分支用來存放對外發布的版本,而幾個短時間分支則進行功能開發、修復補丁、預期發佈等。不少項目是持續發佈的,於是master分支與develop分支區別不大,維護代價高。html

       Github flow則是從master分支拉出新分支,新分支開發完成後,需向master發起要給pull request,至關於通知組裏其餘成員來審閱代碼來決定是否接受進而合併到master,類比同行評審,就拿咱們上週做業而言,在master分支的基礎上新建了我的名字縮寫的分支,當創建好之後你上傳本地文件到這些分支上,github就會發出一個pull request的要求,而後由管理員和其餘成員來決定是否合併進master裏。git

       GitLab是利用 Ruby on Rails 一個開源的版本管理系統,實現一個自託管的Git項目倉庫,可經過Web界面進行訪問公開的或者私人項目。它擁有與Github相似的功能,可以瀏覽源代碼,管理缺陷和註釋。它有一個簡單的聊天程序,組員能夠以此做爲交流平臺,在對文件有分歧以後更容易解決。除此以外提供的代碼片斷收集功能能夠實現代碼複用,又會減小編碼和時間。gitlab flow的最大原則是上游優先,即master做爲全部分支的上游,也就是說若是要想下面的分支有變化必須從mater開始部署。對於"持續發佈"的項目,開發分支是預發分支的"上游",預發分支又是生產分支的"上游",有種一條路走到黑的感受o(╯□╰)o。github

       對於咱們的四則運算項目而言,實現基礎功能的有C#、JAVA、Python,而實現所有功能的初步決定爲JAVA WEB,不必使用,經你們商量決定使用的是git和github相結合的分支。即Github是master分支要有需求文檔和各類程序版本,而後有由各個程序名字命名的分支,好比C#,JAVA等。每一個人除了在本地的master分支,還要有對應的程序分支,舉例來講當用到遠程C#分支的時候,咱們首先使用git fetch origin; git checkout -b C# origin/C# 來在本地新建C#分支,最後每一個人根據實際狀況而言再在本地C#分支上建立debug、feature等分支。微信

        基於上週所作我是把之前的所有清空(名字縮寫的分支合併因爲接受了pull request,致使必須合併後方能刪除),以wz分支爲例,首先將origin/wz分支fecth後解決衝突再將其合併入本地master分支上。函數

1 git fetch origin 
2 git checkout -b wz origin/wz
3 git merge master

再將更新的東西push到Github上:gitlab

1 git checkout master  
2 git merge --no-ff wz
3 git push origin master

合併的結果如圖所示:fetch

最後再在這個基礎上創建相應分支:ui

 

後續項目程序版本都是基於這些分支以及本地分支進行更新(PS:JAVA WEB本週已將登錄註冊界面寫好,等功能進一步完善再將其push)編碼

二、制定本組的代碼規範、GitHub提交源碼的標準

本組代碼規範以下:

(1)去掉沒有用到的類引用spa

(2)注意代碼的縮進和格式化,在Eclipse和VS2013上可以使用Ctrl+Shift+F來實現該功能

(3)命名類、函數、變量儘可能不要使用簡寫,能夠有意義的單詞代替,函數和變量推薦駱駝命名法,即混合使用大小寫字母構成標示符的名字,其中第一個單詞首字母小寫,餘下的單詞首字母大寫;類名則爲帕斯卡命名法,與駱駝命名法相似,只不過第一個單詞字母大寫

(4)合理使用空行,有清晰的脈絡結構,加強可讀性

(5)把全部的類變量、函數變量放到對應最前面,按照用途分組

(6)註釋類、函數,說明邏輯,某些特定的變量或方法,都要加以解釋

(7)減小冗餘無用的代碼,盡力不要在多個地方出現功能徹底相同或相似的代碼

(8)拆分大的類與方法, 保持小單元獨立

GitHub提交源碼的標準:

       基於代碼規範,Github提交的源碼還要盡力保證程序的完備性,即程序的主要功能需實現,不能上傳錯誤代碼。另外每次的commit要儘量詳細,說明改動的地方以及版本等。

三、組長組織每週例會(可使用羣微信羣試驗一下天天溝通項目開發進度的方法)須要有證據可以在博客上公佈

(1)小組成立例會記錄:

(2)第一週例會記錄:

 

 

(3)第二週例會記錄:

 

 

 

 

 (4)第三週例會記錄:

 

四、根據鄒欣老師的教材相關內容,肯定小組成員的角色,細化項目需求、時間計劃、列出產品積壓工做項和預計開發時間

(1)小組成員角色

  小組共五名成員,每一個成員的角色分工和負責任務大體以下(還能夠根據進度中任務的分配進行相應的調整)

  

(2)細化項目需求

  對本項目的相關需求做出了細化,具體可見我組github中的項目需求文檔(https://github.com/TDBYWB/Calc/blob/master/RequirementDoc.md

  下圖列出了本系統詳細需求:

  

(3)時間計劃和預計開發時間

  咱們將在現代軟件工程這門課開設期間完成本系統的開發,預計用時8-7周時間,初步的時間計劃以下圖所示:

  (根據項目的進度以及考慮到開發過程當中可能碰見的問題,時間計劃將會作出相應調整)

  主要時間節點:

  

  各項細分任務用時:

  

(4)產品積壓工做項

  因爲本篇博文編寫於第五週,因此將在此列出前三週的積壓工做項

  (1)系統軟件需求說明書的內容還須要進一步的完善,各別地方敘述不夠詳盡;

  (2)編碼過程當中發現的問題還未解決。

相關文章
相關標籤/搜索