在碼雲(gitee)上展開程序類課程教學

碼雲主要提供了源代碼管理(Git/SVN)功能,最近又推出了高校版讓普通老師也能利用起來以供教學使用。
學生與老師不只能利用其管理代碼,更重要的是咱們的程序教學能經過對git的使用來引入業界流行的軟件開放方式。
通過摸索,大概有幾個能夠利用的場景。html

1.學生代碼管理

之前學生在實驗室編寫好代碼帶回宿舍,一般使用U盤拷貝或者QQ郵箱的方式。麻煩不說,最關鍵的是不夠專業!。做爲計算機專業的學生應該對這種不專業的行爲,果斷說不。
可使用碼雲提供的git服務來管理咱們的代碼。git最經常使用的固然是命令行版本,固然對初學者來講仍是有必定的難度(不少同窗連dircd命令都不知道)。咱們一開始做爲過渡,能夠先使用網頁版。git

1.1 最簡單的入門(建立項目)

步驟很簡單,只需3步:github

  1. 申請帳號。
  2. 新建項目。注意:選擇正確類型,好比管理Java項目,儘可能選擇Java的模板。
  3. 在項目中直接新建、上傳、刪除文件、文件夾。

進入項目後的大概界面以下:
eclipse

先熟悉以下功能。
代碼:你的代碼都在這裏。能夠在這裏上傳、刪除、修改代碼。
Issues:別人能夠對你的代碼提出問題,固然也能夠當作論壇來用。
管理:能夠刪除項目、基本項目設置、項目成員管理(能夠把你的團隊成員加進來一同編寫代碼)。分佈式

然而這樣創建的項目是學生本身的項目,不方便老師查看代碼。咱們能夠利用碼雲上Git的Fork + Pull 模式 來實現教師對學生代碼的統一管理。ide

1.2 使用 Fork + Pull 模式構建統一的學生代碼倉庫

使用這種模式管理學生代碼可讓學生在提交代碼的過程當中學習到業界最流行的分佈式開發技術。具體步驟以下:工具

  1. 教師新建一個代碼庫項目,如上圖所示。代碼庫能夠是空的項目,而後將項目地址發給學生。
  2. 學生點擊右上角的Forked,將教師的代碼庫Fork到本身的帳號下。
  3. 學生在該項目下創建本身學號命名的目錄,而後將代碼放入該目錄。
  4. 學生點擊該項目的Pull Requests,而後點擊+新建 Pull Request。提出請求,將本身的代碼合併到老師創建的代碼庫項目中。
  5. 教師端點擊Pull Request,能夠查看學生提交的Pull Request。而後根據須要決定是否接受該學生的合併請求。主項目截圖以下。

能夠看到學生的代碼都被放到主項目中,教師須要的時候能夠查看每一個學生的提交狀況。學習

這種模式有幾個特色要注意:.net

  1. 合併到主項目的全部代碼均可以被項目成員看到。因此要當心學生做業代碼泄露問題。我利用這個功能主要是爲了讓學生學會使用git、熟悉Fork + Pull模式,至於抄襲問題我會使用別的工具來解決。固然也指望碼雲會推出相關功能。[2018/09/20更新],碼雲如今已經增長了相關功能解決了該問題,見這篇參考文章開啓 Pull Requests 顯示權限
  2. 若是一個班級的人數太多,讓每一個學生髮起Pull Request,老師一一審覈。那無疑對老師發起了DDOS pull request共計。老師一個一個確認到手段。對於這個問題,教師能夠將審覈任務委派給班級的學習委員。這個功能具體操做能夠參見官方文章:碼雲上線 Pull Requests 多人代碼審覈功能

相關參考文章:
Fork + Pull 模式插件

1.3 使用Git命令模式或者IDE管理源代碼

能夠參考以下文章:
官方幫助-提交第一行代碼
個人其餘原創文章:
Git與碼雲(Git@OSC)入門-如何在實驗室和宿舍同步你的代碼(1)
Git與碼雲(Git@OSC)入門-如何在實驗室和宿舍同步你的代碼(2)
使用Eclipse Egit與碼雲管理你的代碼
IntelliJ IDEA下Git的配置與使用(命令行下)

2.教師項目模板與項目代碼質量檢查

2.1 教師項目模板

老師佈置程序項目類做業的時候,即便再三強調要按照規範來創建項目目錄結構。然而最終提交結果依然不盡如人意。每一個人彷佛都有本身的一套項目結構,而且這個結構一般是慘不忍睹的,好比一包流,全部代碼均放到一個包中。
教師徹底能夠規劃好一個項目的標準目錄結構,而後讓學生Fork或clone下來,這樣就無痛的規範了全部學生的項目目錄結構。實際上這也是業界流行的一種方式。學生能夠參考個人這個專門用於Java教學的一個項目OnlineShop,該項目包含一個可供參考的標準項目目錄結構。

2.2 項目代碼質量檢查(校園版不開放)

學生的代碼即便按照目錄規範要求提交上來,可是不少時候代碼質量慘不忍睹。好比變量命名、對null的處理。讓老師一一檢查,這但是要了老師的命。碼雲項目中提供了項目代碼質量檢查,讓學生交給老師審查以前先自查一下。以下圖所示:

注:上述代碼質量檢查現進供企業版用戶使用。

推薦直接在IDE中使用阿里巴巴代碼規範掃描插件對項目代碼進行掃描。

3.真正的讓團隊合做開發實施起來

傳統的程序項目做業,名義上是小組合做完成,然而,實際上因爲缺少工具的支持,很難真正的實現分佈式開發。到最後甚至演變成,1拖n(1個組長搞定所有)的現象。
經過碼雲的Git服務能夠真正讓分佈式開發真正實現,教師能夠經過觀察項目的提交記錄,來確認每一個人的是否真正完成了本身的任務。一個課程設計做業提交記錄以下圖:

老師能夠大概判斷一下該項目是否真正的實現了分佈式開發,開發的工做進度是如何的。

其餘幾點指望

在教學方面還但願碼雲能提供以下幾個功能:

  1. 代碼抄襲斷定。
  2. 經過提交記錄來斷定學生項目推動狀況的工具。
  3. 更完善的學生提交數據。好比學生每週提交數、代碼行數。不只是每一個學生,並且要有全部學生的整體狀況。最好以圖形化的方式展現。

其餘參考資料

Gitee高校版實訓教程

相關文章
相關標籤/搜索