码云高校版,是开源中国和国防科技大学Trustie团队深度合作推出的教学实践环境,该平台融入Trustie群体化方法与技术的重要成果,为高校软件工程人才培养赋能助力。
码云 主要提供了源代码管理(Git/SVN)功能,最近又推出了高校版让普通老师也能利用起来以供教学使用。学生与老师不仅能利用其管理代码,更重要的是我们的程序教学能通过对git的使用来引入业界流行的软件开发方式。
经过摸索,大概有几个可以利用的场景。
以前学生在实验室编写好代码带回宿舍,通常使用U盘拷贝或者QQ邮箱的方式。麻烦不说,最关键的是不够专业!作为计算机专业的学生应该对这种不专业的行为,果断说不。
可以使用码云提供的git服务来管理我们的代码。git最常用的当然是命令行版本,当然对初学者来说还是有一定的难度(很多同学连dir
、cd
命令都不知道)。我们一开始作为过渡,可以先使用网页版。
步骤很简单,只需3步:
进入项目后的大概界面如下:
先熟悉如下功能。
代码:你的代码都在这里。可以在这里上传、删除、修改代码。
Issues:别人可以对你的代码提出问题,当然也可以当做论坛来用。
管理:可以删除项目、基本项目设置、项目成员管理(可以把你的团队成员加进来一同编写代码)。
然而这样建立的项目是学生自己的项目,不方便老师查看代码。我们可以利用码云上Git的Fork + Pull 模式 来实现教师对学生代码的统一管理。
使用这种模式管理学生代码可以让学生在提交代码的过程中学习到业界最流行的分布式开发技术。具体步骤如下:
可以看到学生的代码都被放到主项目中,教师需要的时候可以查看每个学生的提交情况。
这种模式有几个特点要注意:
相关参考文章:Fork + Pull 模式
可以参考如下文章:官方帮助-提交第一行代码
我的其他原创文章:
老师布置程序项目类作业的时候,即使再三强调要按照规范来建立项目目录结构。然而最终提交结果依然不尽如人意。每个人似乎都有自己的一套项目结构,并且这个结构通常是惨不忍睹的,比如一包流,所有代码均放到一个包中。
教师完全可以规划好一个项目的标准目录结构,然后让学生Fork或clone下来,这样就无痛的规范了所有学生的项目目录结构。实际上这也是业界流行的一种方式。学生可以参考我的这个专门用于Java教学的一个项目 OnlineShop,该项目包含一个可供参考的标准项目目录结构。
学生的代码即使按照目录规范要求提交上来,但是很多时候代码质量惨不忍睹。比如变量命名、对null的处理。让老师一一检查,这可是要了老师的命。码云项目中提供了项目代码质量检查,让学生交给老师审查之前先自查一下。如下图所示:
传统的程序项目作业,名义上是小组合作完成,然而,实际上由于缺乏工具的支持,很难真正的实现分布式开发。到最后甚至演变成,1拖n(1个组长搞定全部)的现象。
通过码云的Git服务可以真正让分布式开发真正实现,教师可以通过观察项目的提交记录,来确认每个人的是否真正完成了自己的任务。一个课程设计作业提交记录如下图:
老师可以大概判断一下该项目是否真正的实现了分布式开发,开发的工作进度是如何的。
在教学方面还希望码云能提供如下几个功能:
功能更新 | 码云上线 Pull Request 自动分析代码质量功能
功能更新 | 码云企业版支持提交代码时切换任务状态
功能更新 | 码云支持 Git Wire Protocol,提升传输效率
功能更新 | 如何控制 Git 库的膨胀?码云 GC 一步搞定!