大作业的 group work 是拿 Java 写一个迷宫游戏。迷宫生成算法其实不复杂,GUI 虽然很恶心但也能忍,但 git 的使用与队友的表现才令人头大。
考虑到作业代码不宜公开,所以采用了 Bitbucket 的私有源,然后把最早完成的迷宫部分的代码交了上去。上课时一直使用 Eclipse 写 Java,但 Eclipse 与 git 怎样结合大家似乎都没有研究过。我最早尝试时,如果在 Eclipse 中直接使用 git 的话,所有的代码会归入一个 src 目录。但当时我以为这不对,应该是所有的代码都在根目录下,所以就放弃了通过 Eclipse,一直用另一个目录作为 local git repo,然后与 Eclipse 目录之间手动同步。
这样虽然蹩脚但还能用,但另一个队友比我还不擅长 git。那边的做法是,Eclipse 里写的代码,直接打开 Bitbucket 的网页编辑器贴进去。版本完全乱套。我后来提交的修改,那边每一次提交都会不留声息地抹掉。
与此同时分工也没有仔细划分。一开始分工倒还简单,例如谁做后台算法,谁做 GUI,但一来队友对 git 不熟悉,二来有幽灵队友这两天才露面不知道要分什么活好,现在完全出于混乱的境界。完全不知道代码进度,而且也有人在同时做一个东西然后窝工。代码管理也是通过打包然后发邮件或者传到 fb 讨论组这种石器时代的方式共享,好端端的 git 都被我们吃了。
总结拔高主题,本科生不是病,犯起来要人命。与被队友坑过的各位共勉,也祝各位不被队友坑、不会坑到队友。与此同时也无力地呼吁各位重视版本控制等软件工程工具的重要性,至少对不懂事的本科生来说这个实在是太容易被忽略了。
考虑到作业代码不宜公开,所以采用了 Bitbucket 的私有源,然后把最早完成的迷宫部分的代码交了上去。上课时一直使用 Eclipse 写 Java,但 Eclipse 与 git 怎样结合大家似乎都没有研究过。我最早尝试时,如果在 Eclipse 中直接使用 git 的话,所有的代码会归入一个 src 目录。但当时我以为这不对,应该是所有的代码都在根目录下,所以就放弃了通过 Eclipse,一直用另一个目录作为 local git repo,然后与 Eclipse 目录之间手动同步。
这样虽然蹩脚但还能用,但另一个队友比我还不擅长 git。那边的做法是,Eclipse 里写的代码,直接打开 Bitbucket 的网页编辑器贴进去。版本完全乱套。我后来提交的修改,那边每一次提交都会不留声息地抹掉。
与此同时分工也没有仔细划分。一开始分工倒还简单,例如谁做后台算法,谁做 GUI,但一来队友对 git 不熟悉,二来有幽灵队友这两天才露面不知道要分什么活好,现在完全出于混乱的境界。完全不知道代码进度,而且也有人在同时做一个东西然后窝工。代码管理也是通过打包然后发邮件或者传到 fb 讨论组这种石器时代的方式共享,好端端的 git 都被我们吃了。
总结拔高主题,本科生不是病,犯起来要人命。与被队友坑过的各位共勉,也祝各位不被队友坑、不会坑到队友。与此同时也无力地呼吁各位重视版本控制等软件工程工具的重要性,至少对不懂事的本科生来说这个实在是太容易被忽略了。