第3-6章做業彙總

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

    經過文檔的學習,咱們知道它需求是開發的起點,先有需求,然後有功能分支。功能開發完成後,該分支就合併到主分支,進而刪除該分支,即」功能驅動式開發」。首先,咱們先了解下三個流程的基本細節:
   Git Flow:項目長期存在兩個分支,Master和Develop,分別用於發佈及開發。該流程中,還存在短時間分支,進行功能開發、維護等。但不少項目持續發佈,此時維護兩個長期分支,維護開發較大。
    Github Flow:開發過程當中始終保存一個長期分支,即Master,一旦有新的需求,便從主分支中拉出新的分支,在Commit新功能後,發出pull request讓別人注意到你的修改,修改被接受後,Merge進Master。最後,刪除該分支。
    Gitlab Flow:一個用於倉庫管理系統的開源項目,其主要功能以下:代碼託管服務;訪問權限控制;問題跟蹤、bug的記錄、跟蹤和討論;Wiki,項目中一些相關的說明和文檔;代碼審查,能夠查看、評論代碼等。
經過對比以上三種方式,依據項目需求和現實狀況,小組最終決定在Android平臺上實現該項目。而且小組約定按照以下方式進行操做。

   首先,小組成員各自將代碼Clone到本地客戶端。
   而後,依據以下對應的工做流程操做:
     1.依據需求創建對應功能分支;
     2.對代碼進行修改;
     3.完成了某項功能,提交(commit,只是提交到本地代碼庫);
     4.pull request到Web端,讓別人看本身所作的更改,若是存在衝突,解決衝突後在pull request。
     5.小組成員檢查後,在Web端進行Merge。
   到目前爲止,本小組都是按照該方式進行開發,其結果以下:前端

 

第二題:制定本組的代碼規範、GitHub提交源碼的標準。--By梁旭暉git

   在一個團隊裏,代碼規範是一件很重要的事情,由於團隊之中,夥伴之間可能須要看懂彼此的代碼,這個時候,代碼規範就顯得尤爲重要。數據庫

   1、代碼風格規範:編程

    一、去除沒有用到的引用,避免由於類引用沒有使用而警告。服務器

    二、使用4個空格的tab鍵進行縮進。微信

     三、條件,循環語句必須使用{}來包含操做,即使只有一句話。框架

     四、條件,循環語句的{}上下要對齊,每一個「{」和「}」都獨佔一行。數據庫設計

     五、不要把多條語句放在同一行上,即使是變量聲明,也最好另起一行。函數

     六、已經廢棄的舊代碼請刪除,不要留註釋,註釋的只能是對於代碼的解釋。

     七、命名要規範:

      1)不容許使用漢語拼音命名。

      2)儘可能少用縮寫,但若是用了,要明智地使用,且在整個工程中統一。

      3)避免使用相似的名字,或者僅僅是大小寫不一樣的名字。

      4)全局變量大寫。

      5)不要使用沒有意義的名字,好比haha。

      6)不要使用單個字母,好比x,y。

      7)無心義的循環變量,能夠直接用 i,j,k等。

      8)多個單詞拼接而成的變量名,後面的單詞,首字母大寫。

      9)避免使用長的名字(小於 15 個字母是個好主意)。

    八、註釋要規範:

      1)代碼細節的註釋使用//,較長或者多行註釋使用/* */。

      2)寫明類目的,藉口的目的。

      3)對於比較複雜的函數,提供調用示例。

      4)爲不容易理解的變量提供註釋。

      5)異常拋出須要提供註釋。

      6)代碼修改,提供註釋。

      7)自定義函數的功能須要註釋

      8)複雜註釋放在函數頭,針對一句的註釋放在句末。    

  2、代碼設計規範

    一、若是一個功能要屢次使用,請把它封裝爲函數

    二、針對接口編程,不針對具體類編程

     三、一個類完成一個具體的功能,不要有太大的類,不要把不少功能都封裝在一個類中。

     四、儘可能少用全局變量和局部靜態變量。

     五、不要使用goto

     六、非必要的狀況下,不要使用多態

     七、非必要的狀況下,不要使用繼承。

     八、函數的參數最好在5個之內。

     九、一個函數的長度,最好在150行之內。

     十、布爾表達式內的條件在3個之內

     十一、if 嵌套3層之內

     十二、不要省略返回值的類型,能夠用void

     1三、函數的返回值要和聲明類型同樣,不要依賴於自動轉換。

     1四、傳入函數的參數,函數內部要驗證其正確性,不能默認用戶傳入的都是正確的參數。      

 

  參考文獻:http://blog.chinaunix.net/uid-9354-id-2425025.html

       http://blog.csdn.net/kimylrong/article/details/7700311

        http://www.docin.com/p-655201628.html

        http://wenku.baidu.com/view/8b03b3ff0242a8956bece430.html

        https://www.douban.com/note/82618786/

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

  咱們組的小夥伴們在接到每週的做業後,不管是在線上仍是線下都積極參與了討論哦。小夥伴們還熱情地爲項目的開發提出了不少頗有用的提議,由於線上討論的截圖太多,因此這裏決定只選取每週討論內容的四張截圖放在了下面^_^.

  第一週:第一週做業任務

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   第二週:第二週做業任務

 

 

  第三週:項目需求討論

 

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

  通過和小組成員的討論,咱們肯定了有關小組成員角色、項目需求、時間計劃等事項。

  根據以前的項目經驗和各項技術的熟練程度,咱們小組的角色分工以下。

             表格1 角色分工

成員

角色分工

林培文

工程師、UI設計,前端開發

郭青雲

工程師、系統後臺框架設計、接口設計

梁旭暉

工程師、需求分析、後臺維護

侯偉婷

工程師、系統測試、編寫文檔、數據庫設計

  提到項目需求的話,就要着重說明一下項目的功能性需求,咱們看到了上一屆完成的項目,大致思路是和他們一致的,就是給出必定的題目由用戶答題,用戶答題以後,後臺負責判斷答案的正確與否。可是咱們在此基礎上作出了以下拓展:

             表格2 項目功能細化與需求擴展

拓展功能

功能描述

年級選擇

    按照小學具體狀況,共設置6個年級的題目,不一樣年級的學生選擇本年級的題目答題,並給出答對和答錯的題目數量。

題目要求

    一次能夠批量給出100道以上的題目,並保存在文本文件中,而且保證題目不重複。

難度選擇

    針對同一年級的學生水平也會高低不一樣這一狀況,咱們將爲用戶準備 自測水平的題目,以後根據用戶的水平層次來分配難易題目。

年級排行榜

    爲了讓提升同窗們的學習動力,咱們還將設置年級排行榜,即咱們對同一年級學生的答題總題目,正確回答的總題目,答題速度等數據進行統計,利用上述數據做爲指標來進行排行,可讓同窗們看到其餘同窗的回答狀況,不斷向優秀的同窗學習!

每週競賽

    設置每週一次的數學答題競賽,在良性競爭的比賽下,讓全部人的數學成績能夠逐步提高。

  細化項目需求後,就要說一說對這個項目的時間安排了,通過咱們組的討論,至少要三週才能完成,且是在沒有其餘學科,沒有其餘課題或項目的影響下。其中至少須要兩週時間來進行界面的設計工做,同時後臺服務器框架搭建也須要一週,後臺的功能代碼按照模塊來並行進行的話,也會花一段時間。

  預計開發時間在兩週以後,由於包花費一週時間進行需求分析,開發工具和環境的準備,同時正逢國慶節,因此大概會在兩週以後進行項目的開發工做。

相關文章
相關標籤/搜索