Closed PENGZhaoqing closed 7 years ago
考虑到每个队伍用到不同的文件结构、视图框架以及编程语言,各自独立的repository开发是比较符合友好独立的开发管理的,这也是现在课程作业推荐的形式。
有关各自小组项目开发与管理: 你们队伍(其他队伍也一样)可以在自己的repository独立开发,文件结构、框架、语言按照你们自己意愿选择;可以通过添加collaborators使你们小组的其他成员加入到该repository的共同开发中(也可以按照你的思路,你们小组内几个人自建organization来维护共同的项目),通常来说小组内每个成员在你们最终项目上的评分是相同的,当然,每个成员对一个项目的贡献度也可以通过graphs查看,如果有这方面的需要,可以在你们的 VIS -Project.md 中标明你们认可的差异化的项目贡献说明。(非必须,但推荐使用一个友好的README来说明你们项目的详细介绍、使用、借鉴的优秀开源框架以及其他相关内容)
infovis-ucas的组织思路与规定:考虑到以往课程的开设情况,并非所有上课的同学都熟悉编程,所以建立一个organization来组织所有上课同学可能会给非计算机成员造成过多的负担(考虑到已经使用课程wiki网站来组织部分内容,以及并非每个队伍中所有同学都会有贡献代码的需求),所以推荐每个队伍使用各自熟悉的方式来组织队伍内的项目管理。infovis-ucas项目的设立是为课程最终项目验收展示以及课程成果展示提供一个简洁的组织,所以你可以将其看成一个集合你们所有队伍项目代码的一个阉割版展示( 参考git pages basics )。大家可以通过 https://iscas-vis.github.io/infovis-ucas/views/GroupName/
来访问到各自的展示页面,统一的url组织有利于其他人快速了解我们课程各个队伍的成果(当然,这局限于部分静态服务例如html/js/jekyll等等,若是你们项目中用到python/node/j2ee等技术,则需要稍作处理后将其中动态内容转成静态文件读取的形式传到github主分支)。考虑到潜在的merge conflicts,推荐大家只update views文件夹中各自小组的文件夹内的内容,merge的时候我也会检查这部分防止出现conflicts干扰大家其他分支的更新。考虑到课程主要分有几个checkpoints和最终检查,每个小组的pull request请求数不会特别频繁(如若不着急,可以将队伍内commits积攒到下一检查阶段再统一pull request)
以上说的内容不知道是否解决了你说的问题,总结来说:队伍可以自建repo来组织组内的项目开发,infovis-ucas主分支是用来集合展示所有队伍的可视化项目。建议的做法是:为了infovis-ucas主分支的正常展示,你可能需要对你们项目的代码进行必要的简化处理(如若项目复杂,调用了实时计算的后台服务);但对于你们项目的完整代码,你可以在你们自己认为合适的环境下(github, coding, gitlab平台不限)组织,然后在VIS-Project.md页面标明你们的项目地址,以便老师或其他人在查看了你们展示页面后(或者评判作业)的进一步详细查看。
考虑到主分支即将保存所有队伍的展示内容,在你们的代码组织中,推荐尽可能使用CDN加载资源(公共样式表、JavaScript库等),而不是本地存储读取。项目public 文件夹中已经存放了一些公共资源库,如果有其他未考虑到的资源,可以直引官方CDN,也欢迎给主分支贡献代码并发送merge请求。
以上是我的一些想法,欠考虑的地方欢迎继续讨论。 :-)
ok,了解。
辛苦助教~
我觉的助教可以创建一个organization,把所有人拉进来。
每个组建一个repertory,小组内fork自己组的repertory
这样能够看到小组内每个人对项目的贡献度,也方便每个组对自己项目的管理:有的组可能里面涉及其他框架,比如web应用等。
也不用每次提交都要向master pull request,以及解决相关的conflicts