首先經過該連接咱們能夠學到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)編碼
(1)去掉沒有用到的類引用spa
(2)注意代碼的縮進和格式化,在Eclipse和VS2013上可以使用Ctrl+Shift+F來實現該功能
(3)命名類、函數、變量儘可能不要使用簡寫,能夠有意義的單詞代替,函數和變量推薦駱駝命名法,即混合使用大小寫字母構成標示符的名字,其中第一個單詞首字母小寫,餘下的單詞首字母大寫;類名則爲帕斯卡命名法,與駱駝命名法相似,只不過第一個單詞字母大寫
(4)合理使用空行,有清晰的脈絡結構,加強可讀性
(5)把全部的類變量、函數變量放到對應最前面,按照用途分組
(6)註釋類、函數,說明邏輯,某些特定的變量或方法,都要加以解釋
(7)減小冗餘無用的代碼,盡力不要在多個地方出現功能徹底相同或相似的代碼
(8)拆分大的類與方法, 保持小單元獨立
基於代碼規範,Github提交的源碼還要盡力保證程序的完備性,即程序的主要功能需實現,不能上傳錯誤代碼。另外每次的commit要儘量詳細,說明改動的地方以及版本等。
小組共五名成員,每一個成員的角色分工和負責任務大體以下(還能夠根據進度中任務的分配進行相應的調整)
對本項目的相關需求做出了細化,具體可見我組github中的項目需求文檔(https://github.com/TDBYWB/Calc/blob/master/RequirementDoc.md)
下圖列出了本系統詳細需求:
咱們將在現代軟件工程這門課開設期間完成本系統的開發,預計用時8-7周時間,初步的時間計劃以下圖所示:
(根據項目的進度以及考慮到開發過程當中可能碰見的問題,時間計劃將會作出相應調整)
主要時間節點:
各項細分任務用時:
因爲本篇博文編寫於第五週,因此將在此列出前三週的積壓工做項
(1)系統軟件需求說明書的內容還須要進一步的完善,各別地方敘述不夠詳盡;
(2)編碼過程當中發現的問題還未解決。