软件工程(DBSD2016) Git Review
说明:任何问题请在评论区说明,会集中更新回复。
连连看组
源码:
git clone https://git.coding.net/jx8zjs/llk.git
提交日志
一共有20次commit日志,有基本的改动说明日志信息,可以再改进
ReadMe
描述太简略
编码规范:
源码目录和文件
、项目工程文件
的名字应该尽量使用英文名或者缩写,不要使用中文名,这属于编码和命名规范问题,例如:
- 连连看
- 连连看.sln
- 连连看/连连看.csproj
- 源代码的
namespace 连连看{}
忽略文件:
不应该提交到源码仓库的临时文件和目录
以及个人本地配置
,请添加到.gitignore文件里 ,临时生成文件变动巨大,而且占用空间大,并不需要版本化,每个获取源码的人应该自己编译,而项目工程的个人配置文件每个人都会有不同的地方,提交到源码仓库会导致频繁冲突,不应该提交到源码仓库。
.vs
连连看.v12.suo
连连看/bin
连连看/obj
程序运行:
程序可以编译并运行。但是程序运行所依赖的素材,不应该放在bin目录下,可以选择如下任意一种方式:
- 单独建一个data文件夹存放并提交,在工程配置的编译后事件里可以通过batch脚本拷贝到生成的bin目录
- 在C#项目里可以建立Resource子目录存放,将素材嵌入到程序集,在代码里从程序集获取文件。
食物链
源码
git clone https://git.coding.net/li_yuhuan/FoodChain.git
提交日志
一共有20次commit日志,没写清楚每次commit的改动简要说明
ReadMe
缺少ReadMe,拿到这份代码,对于不熟悉Flex的人来说,不知如何编译运行。bin-debug目录下有发布的版本,并没有说明如何跑起来程序。
编码规范
代码部分应该消除重复代码,多使用函数,例如:
FoodChain/src/Biology_C/FoodChain/Animaltem.as:
public function DrawObj():void
{
if ( m_Index==0 )
{
m_objSpr = new BioFoodChain_zaolei();
this.addChild(m_objSpr);
this.addChild(m_objText0);
m_objText0.text = "藻类";
Textname = "藻类";
m_nids = 0;
}
else if ( m_Index==1 )
{
m_objSpr = new BioFoodChain_lvsezhiwu();
this.addChild(m_objSpr);
this.addChild(m_objText0);
m_objText0.text = "草";
Textname = "草";
m_nids = 1;
}
else if ( m_Index==2 )
{
...
}
...
}
忽略文件
并没有.gitignore文件,用来指定哪些目录不应该提交到源码仓库,bin-debug是生成的目录,不应该提交到git仓库。
约跑App
源码
git clone https://git.coding.net/muziliquan/niceGroup.git
提交日志
一共3次提交日志,太少
ReadMe
缺少内容,没有对项目的整体描述,代码的说明,运行的说明
忽略文件
正常使用
测试程序
niceGroup/MyApplication/app/src/androidTest的测试代码并没有使用起来,只加了个example
编码规范
niceGroup/MyApplication/app/src/main/java/com/example/...
程序的正式包名不适合用example
这种
MainActivity.java,HttpUtils.java里不要的代码不要通过注释的方式提交到源码仓库,直接删掉
RegisterActivity.java里的注册验证部分的代码,if else嵌套的很深,可以改进下,使用卫语句或者提前返回的方式减少嵌套。
bool test1(){
if(...){
return false;
}
if(...){
return false;
}
}
bool test2(){
bool ret=false;
do{
if(...){
break;
}
if(...){
break;
}
...
ret = true;
}while(false);
}
程序运行
需要部署服务器,没有ReadMe说明,没法运行和部署测试。一种方式是不依赖于部署的服务器也能跑一个本地测试版,或者应该提供测试服务器地址,ReadMe里写明如何Step By Step运行。
俄罗斯方块
源码
git clone https://git.coding.net/Boxer_/homework.git
在final目录下,应该为项目单独建立git仓库,这是团队项目,不是一个个人项目,homework这种名字适合个人练手或者教师布置作业做名字,应该使用和团队项目相关的合适名字
提交日志
最后补交,也即过程中没有使用源码开发,请为团队项目创建独立仓库,完备各种细节,游戏做的是不错,也要有合适的git仓库,一个项目的生命周期远远高于你们的学期。本人上一个月还修复过一个6年前了的项目的一个BUG呢。
ReadMe
太简略以至于跟没写一样,请参考:https://github.com/dtrebilco/glintercept
编码规范
- 目录名不要使用中文,不要用final这种名字,源码仓库的目录名字应该是项目上下文相关的,例如你们的游戏,final这是一个交作业的命名风格,不适合做源码目录名字,一般根据资源、功能、模块等命名
- 请写合适的注释,如下注释毫无意义,上下文看得出来你是在获取什么:
public FrameConfig(Element frame) {
// 获取窗口高度
this.height = Integer.parseInt(frame.attributeValue("height"));
// 获取窗口宽度
this.width = Integer.parseInt(frame.attributeValue("width"));
// 获取边框内边距
this.padding = Integer.parseInt(frame.attributeValue("padding"));
// 获取边框粗细
this.border = Integer.parseInt(frame.attributeValue("border"));
// 获取游戏名
this.title = frame.attributeValue("title");
// 获取窗口拔高
this.windowUp = Integer.parseInt(frame.attributeValue("windowUp"));
//一个方块的左位移偏量
this.sizeRol = Integer.parseInt(frame.attributeValue("sizeRol"));
//失败图片
this.loseIndex=Integer.parseInt(frame.attributeValue("loseIndex"));
// 获取窗体属性
- 不要的代码要删掉,不要提交到源码仓库:src/com/ccdx/fan/config/GameConfig.java尾巴部分
- 既然有测试代码,就可以对算法代码做完整的测试,public class DataTest implements Datas { 里面的测试代码太简单
- 居然还写了个代码统计的类,其实可以使用代码分析工具的,可是写就写吧,问题是使用绝对路径不好吧,请做成命令行工具:
public static void main(String[] args) {
File file = new File("C://Users//wzy//Documents//Tencent Files//184701326//FileRecv//Tetriss//src"); // 在这里输入需要统计的文件夹路径
- 整体来说代码有基本的分层,请改进各种细节
程序运行
需要myeclipse,没有该IDE,不装了,其实eclipse就够了,为啥要用myeclipse,毕竟后者是收费的吧,破解版的你用着放心么?破解版编译的程序要有个后门您这软件发出去就完蛋了。
考试系统
源码
git clone https://git.coding.net/handsomeman/examm.git
提交日志
一共就两个commit日志,太少
ReadMe
啥都没写,仓库目录下只有一个7z压缩包,也就是根本不是通过git做了源码管理
编码规范
解压后:
- 项目名字是tjgii-web,这名字完全不知是啥意思了
- 压缩包里把bin目录也压缩进去了
- tjgjj-web/test/dhc/callcenter/ivr/下倒是有几个测试文件,看代码还写了一些实际的测试代码
- 代码看上去基于已有框架加的,应该说明是否基于已有框架开发,整体做了哪些功能设计和实现。
- 结合一共就两次的git提交,这代码都是你们写的么。。
程序运行
没有提供测试地址
礼物挑选小工具
源码
git clone https://coding.net/u/shenbaishan/p/GIFT/git
提交日志
一共有20次commit日志,有基本的改动说明日志信息
ReadMe
没有任何描述
编码规范
- 程序根目录下直接放了一堆代码文件,目录需要组织下,源代码需要工程化的组织
- 源代码、jar、css等也应该分目录组织下
忽略文件
没有.gitignore添加忽略文件目录列表
程序运行
没有如何编译、发布、执行的说明,该组历史上部署过在线项目,试用过
软件工程(DBSD2016) Git Review的更多相关文章
- 2016福州大学软件工程 团队Git Review
606Connected组: git地址:https://github.com/606notconnected/Beta.git 文件忽略:使用gitignore较正确 版本控制:只有1次commit ...
- Git Review + Gerrit 安装及使用完成 Code-Review
转载自:https://cloud.tencent.com/developer/article/1010615 1.Code Review 介绍 Code Review 代码评审是指在软件开发过程中, ...
- git review & devops过程
自己搭建的devops环境是gitlab/gerrit/jenkins 1. 首先自己checkout一个自己的代码分支,一般不要在master上做直接修改 2. 修改后git add file, ...
- git review出现的问题
在提交代码review的时候可能会出现 Could not connect to gerrit.Enter your gerrit username: xxxxTrying again with ss ...
- git review报错一例
在线上修改代码,最后使用git review提交代码审核的时候出现报错如下:[wangshibo@115~]$ vim testfile #修改代码[wangshibo@115~] ...
- (诊断)git review时出现fatal: ICLA contributor agreement requires current contact information.错误
使用git review时出现错误: fatal: ICLA contributor agreement requires current contact information. Please re ...
- Git review :error: unpack failed: error Missing tree
环境 git version 1.9.1 Gerrit Code Review (2.11.3) 1 2 现象 修改后调用 git review可以提交到Gerrit上,然后只要一用 git comm ...
- git 打补丁,即git review之后需要二次修改并提交代码
假如代码已经push上去了,可是当review时,发现有地方需要修改,你可以继续在本地修改你的文件,之后git status查看修改的文件,然后git add修改的文件,此时不能直接git commi ...
- 软件工程Ⅱ:Git的安装与使用
作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 1.下载安装配置用户名和邮箱. (1) 安装Git软件. (2) ...
随机推荐
- JAVA 8 Lambda表达式-Lambda Expressions
Lambda表达式介绍 Lambda表达式是在java规范提案JSR 335中定义的,Java 8 中引入了Lambda表达式,并被认为是Java 8最大的新特性,Lambda表达式促进了函数式编程, ...
- [PL/SQL]oracle数据库的导出导入
一.PL/SQL Developer工具一般对oracle的导入导出有以下4中方式: 1.Oracle导出导入方式 这种方式导出导入为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权 ...
- 使用dig查询dns解析
原文地址:使用dig查询dns解析 作者:chenwenming 一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手. 如果是在debian下的 ...
- 【Android】apk文件反编译
工具: 压缩软件:用于解压apk包 dex2jar:*.dex反编译为Jar包 jd-gui:查看Jar文件 (PS:不知道博客园如何上传附件,只能把工具挂到百度网盘了:http://pan.baid ...
- Runtime.exec() sucks!!!!
自己项目中使用到了 Runtime rt = Runtime.getRuntime(); Process p = rt.exec("query session");p.waitFo ...
- 利用 druid 解析器解析SQL
最近参与一个开源项目,一个功能的实现,用到了 druid 解析器来解析SQL,记录下如果使用 druid 来解析SQL,实现对SQL的拦截改写. 1. 对 insert 语句进行解析: private ...
- IO系统性能之一:衡量性能的几个指标
作为一个数据库管理员,关注系统的性能是日常最重要的工作之一,而在所关注的各方面的性能只能IO性能却是最令人头痛的一块,面对着各种生涩的参数和令人眼花缭乱的新奇的术语,再加上存储厂商的忽悠,总是让我们有 ...
- windows下使用mysql双机热备功能
一. 准备工作 1. 准备两台服务器(电脑),接入局域网中,使互相ping得通对方 2. 两台服务器都安装mysql-server-5.1,必须保证mysql的版本一致 3. 假设,服务器A:192. ...
- my_strstr()
const char* my_strstr(const char* S1,const char* S2){ int i=0,flag=0; while('\0'!=*(S1+i)){ if(*(S1+ ...
- php遍历循环数组实现方法
简单利用foreach for list each while来遍历数组,包括普通的一维数组与二维数组遍历方法,下面详细的介绍了每个函数的使用方法. $foreach = array(1,2,3); ...