说明:任何问题请在评论区说明,会集中更新回复。

连连看组

源码:

git clone https://git.coding.net/jx8zjs/llk.git

提交日志

一共有20次commit日志,有基本的改动说明日志信息,可以再改进

ReadMe

描述太简略

编码规范:

源码目录和文件项目工程文件的名字应该尽量使用英文名或者缩写,不要使用中文名,这属于编码和命名规范问题,例如:

  • 连连看
  • 连连看.sln
  • 连连看/连连看.csproj
  • 源代码的namespace 连连看{}

忽略文件:

不应该提交到源码仓库的临时文件和目录以及个人本地配置,请添加到.gitignore文件里 ,临时生成文件变动巨大,而且占用空间大,并不需要版本化,每个获取源码的人应该自己编译,而项目工程的个人配置文件每个人都会有不同的地方,提交到源码仓库会导致频繁冲突,不应该提交到源码仓库。

.vs
连连看.v12.suo
连连看/bin
连连看/obj

程序运行:

程序可以编译并运行。但是程序运行所依赖的素材,不应该放在bin目录下,可以选择如下任意一种方式:

  1. 单独建一个data文件夹存放并提交,在工程配置的编译后事件里可以通过batch脚本拷贝到生成的bin目录
  2. 在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的更多相关文章

  1. 2016福州大学软件工程 团队Git Review

    606Connected组: git地址:https://github.com/606notconnected/Beta.git 文件忽略:使用gitignore较正确 版本控制:只有1次commit ...

  2. Git Review + Gerrit 安装及使用完成 Code-Review

    转载自:https://cloud.tencent.com/developer/article/1010615 1.Code Review 介绍 Code Review 代码评审是指在软件开发过程中, ...

  3. git review & devops过程

    自己搭建的devops环境是gitlab/gerrit/jenkins 1. 首先自己checkout一个自己的代码分支,一般不要在master上做直接修改 2. 修改后git add file,   ...

  4. git review出现的问题

    在提交代码review的时候可能会出现 Could not connect to gerrit.Enter your gerrit username: xxxxTrying again with ss ...

  5. git review报错一例

    在线上修改代码,最后使用git review提交代码审核的时候出现报错如下:[wangshibo@115~]$ vim testfile           #修改代码[wangshibo@115~] ...

  6. (诊断)git review时出现fatal: ICLA contributor agreement requires current contact information.错误

    使用git review时出现错误: fatal: ICLA contributor agreement requires current contact information. Please re ...

  7. 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 ...

  8. git 打补丁,即git review之后需要二次修改并提交代码

    假如代码已经push上去了,可是当review时,发现有地方需要修改,你可以继续在本地修改你的文件,之后git status查看修改的文件,然后git add修改的文件,此时不能直接git commi ...

  9. 软件工程Ⅱ:Git的安装与使用

    作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 1.下载安装配置用户名和邮箱. (1) 安装Git软件. (2) ...

随机推荐

  1. JAVA 8 Lambda表达式-Lambda Expressions

    Lambda表达式介绍 Lambda表达式是在java规范提案JSR 335中定义的,Java 8 中引入了Lambda表达式,并被认为是Java 8最大的新特性,Lambda表达式促进了函数式编程, ...

  2. [PL/SQL]oracle数据库的导出导入

    一.PL/SQL Developer工具一般对oracle的导入导出有以下4中方式: 1.Oracle导出导入方式 这种方式导出导入为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权 ...

  3. 使用dig查询dns解析

    原文地址:使用dig查询dns解析 作者:chenwenming 一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手. 如果是在debian下的 ...

  4. 【Android】apk文件反编译

    工具: 压缩软件:用于解压apk包 dex2jar:*.dex反编译为Jar包 jd-gui:查看Jar文件 (PS:不知道博客园如何上传附件,只能把工具挂到百度网盘了:http://pan.baid ...

  5. Runtime.exec() sucks!!!!

    自己项目中使用到了 Runtime rt = Runtime.getRuntime(); Process p = rt.exec("query session");p.waitFo ...

  6. 利用 druid 解析器解析SQL

    最近参与一个开源项目,一个功能的实现,用到了 druid 解析器来解析SQL,记录下如果使用 druid 来解析SQL,实现对SQL的拦截改写. 1. 对 insert 语句进行解析: private ...

  7. IO系统性能之一:衡量性能的几个指标

    作为一个数据库管理员,关注系统的性能是日常最重要的工作之一,而在所关注的各方面的性能只能IO性能却是最令人头痛的一块,面对着各种生涩的参数和令人眼花缭乱的新奇的术语,再加上存储厂商的忽悠,总是让我们有 ...

  8. windows下使用mysql双机热备功能

    一. 准备工作 1. 准备两台服务器(电脑),接入局域网中,使互相ping得通对方 2. 两台服务器都安装mysql-server-5.1,必须保证mysql的版本一致 3. 假设,服务器A:192. ...

  9. my_strstr()

    const char* my_strstr(const char* S1,const char* S2){ int i=0,flag=0; while('\0'!=*(S1+i)){ if(*(S1+ ...

  10. php遍历循环数组实现方法

    简单利用foreach for list each while来遍历数组,包括普通的一维数组与二维数组遍历方法,下面详细的介绍了每个函数的使用方法. $foreach = array(1,2,3); ...