引擎日记 2011.2.21

开头

学习Android有一段时间,断断续续做过一些小的东西,涉及小的应用和2D游戏。做一个引擎的想法由来已久,呵呵,觉得原因有两个 一是可以实现,什么都做不出来的可能性比较小;二是实现起来不那么容易,在不断完善的过程中对Android的认识也能够得到进一步提高。

如果说有大一点的私心,大学生活马上过半,想为自己为团队留下好的回忆。学生团队,精力和经验都有限,不缺的是热情,牛人多指教:)。

首先介绍我们的七人团队,六程序一美工,六位程序员均为软件工程专业,三个大二下,两个大三下,母语都是java,美工大三下,数字媒体专业,熟悉opengl,本项目参加编码工作。

在此用本篇以及后续笔记记录我们引擎的诞生。

 

第一次会议

21日晚,开学的第二天,晚上8:30,会议室

本次会议是关于项目的第一次会议,由于大家都是第一参与这样的项目,联想到前期作出来的程序大都实现了功能但难以维护,大家在编码的过程中都有自己的风格,编写的代码注释不全,可读性差,而且大家毕竟都是学生,在学期内进行项目不得不考虑时间等问题,所以首先对今后的工作模式进行了确定。

1.成功的要素:时间、热情、意见交流、资源共享、进度的协调、代码的规范

2.以周为工作的时间单位,由于大家平时学习时间不相同,所以以周为单位,大家在每个周中完成周工作目标,工作时间自由确定。

3.代码优劣的评定角度:功能是否实现,效率是否满足要求,风格是否符合规范,是否较少冗余

4.代码周审,在项目早期就能够发现代码中的BUG; 分享经验,达到知识共享;避免开发人员犯一些很常见,很普通的错误;保证项目组人员的良好沟通; 使项目代码更容易维护;

5.代码的版本管理采用CVS

6.代码风格使用CheckStyle管理,代码风格约束如下所示

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">

	<!-- 重复代码的检查,超过10行就认为重复-->
	<module name="StrictDuplicateCode">
	    <property name="min" value="10"/>
	    <property name="charset" value="UTF-8"/>
	</module>

    <module name="TreeWalker">
    
		<!-- 需要包声明,不允许默认包 -->
        <module name="PackageDeclaration"/>
		<!-- 不允许import * -->
		<module name="AvoidStarImport"/>
		<!-- javadoc的检查 -->
		<!-- 检查所有的interface和class -->
	    <module name="JavadocType"/>

		<!-- 检查所有方法的javadoc,可以不声明RuntimeException -->
		<module name="JavadocMethod">
		    <property name="allowUndeclaredRTE" value="true"/>
		</module>
		<!-- 检查某个变量的javadoc -->
 		<module name="JavadocVariable"/>

		<!-- 命名方面的检查,它们都使用了Sun官方定的规则。 -->
		<!-- 类名(class 或interface) 的检查 -->
		<module name="TypeName"/>
		<!-- 变量的检查 -->
		<module name="MemberName"/>
		<!-- 方法名的检查 -->
		<module name="MethodName"/>
		<!-- 方法的参数名 -->
		<module name="ParameterName "/>
		<!-- 常量名的检查 -->
		<module name="ConstantName"/>
		<!-- 如果变量可以设为final,则设置成final -->
		<module name="FinalLocalVariable"/>
		<!-- java方式的数组风格 如String[] args -->
		<module name="ArrayTypeStyle"/>
		
		
		<!-- 长度方面的检查 -->
		<!-- 文件长度不超过1500行 -->
		<module name="FileLength">
		      <property name="max" value="1500"/>
		</module>
		<!-- 每行不超过120个字-->
		<module name="LineLength">
		    <property name="max" value="120"/>
		</module>
		<!-- 方法不超过35行 -->
		<module name="MethodLength">
		   <property name="tokens" value="METHOD_DEF"/>
		   <property name="max" value="35"/>
		</module>
		<!-- 方法的参数个数不超过6个。 -->
		<module name="ParameterNumber">
		   <property name="max" value="6"/>
		</module>
		

		<!-- 多余的关键字 -->
		<module name="RedundantModifier"/>
		<!-- 对区域的检查 -->
		<!-- 不能出现空白区域 -->
		<module name="EmptyBlock"/>		
		<!-- 所有区域都要使用大括号。 -->
		<module name="NeedBraces"/>
		<!-- 多余的括号 -->
		<module name="AvoidNestedBlocks">
			<property name= "allowInSwitchCase" 
			value="true"/>
		</module>
		
		
		
		
		<!-- 编码方面的检查 -->

		<!-- 不许出现空语句 -->
		<module name="EmptyStatement"/>
		<!-- 每个类都实现了equals()和hashCode() -->
		<module name="EqualsHashCode"/>
		<!-- 不许内部赋值 -->
		<module name="InnerAssignment"/>		
		<!-- 不允许魔法数 -->
		<module name="MagicNumber"/>
		<!-- 循环控制变量不能被修改 -->
		<module name="ModifiedControlVariable"/>
		<!-- 多余的throw -->
		<module name="RedundantThrows"/>
		<!-- 不许使用未被简化的条件表达式 -->
		<module name="SimplifyBooleanExpression"/>
		<!-- 不许使用未被简化的布尔返回值 -->
		<module name="SimplifyBooleanReturn"/>	
		<!-- String的比较不能用!= 和 == -->
		<module name="StringLiteralEquality"/>
		<!-- if最多嵌套3层 -->
		<module name="NestedIfDepth">
		    <property name="max" value="3"/>
		</module>		
		<!-- try最多被嵌套1层 -->
		<module name="NestedTryDepth"/>
		<!-- clone方法必须调用了super.clone() -->
		<module name="SuperClone"/>
		<!-- finalize 必须调用了super.finalize() -->
		<module name="SuperFinalize"/>
		<!-- 不能catch java.lang.Exception -->
		<module name="IllegalCatch">
			<property name="illegalClassNames" 
			value="java.lang.Exception"/>
		</module>
		<!-- JUnitTestCase 的核心方法存在。 -->
		<module name="JUnitTestCase"/>
		<!-- 一个方法中最多有4个return -->
		<module name="ReturnCount">
		    <property name="max" value="4"/>
		</module>	
		<!-- 不许对方法的参数赋值 -->
		<module name="ParameterAssignment"/>
		<!-- 不许有同样内容的String -->
		<module name="MultipleStringLiterals"/>	
		<!-- 同一行不能有多个声明 -->
		<module name="MultipleVariableDeclarations"/>

		
		<!-- 各种量度 -->
		<!-- 布尔表达式的复杂度,不超过3 -->
		<module name="BooleanExpressionComplexity"/>
		<!-- 类数据的抽象耦合,不超过7 -->
		<module name="ClassDataAbstractionCoupling"/>
		<!-- 类的分散复杂度,不超过20 -->
		<module name="ClassFanOutComplexity"/>
		<!-- 函数的分支复杂度,不超过10 -->
		<module name="CyclomaticComplexity"/>
		<!-- NPath复杂度,不超过200 -->
		<module name="NPathComplexity"/>
		
		
		<!-- 杂项 -->
		<!-- 禁止使用System.out.println -->
		<module name="GenericIllegalRegexp">
		    <property name="format" value="System\.out\.println"/>
		    <property name="ignoreComments" value="true"/>
		</module>

    </module>
		


	<!-- 检查翻译文件 	-->
	<module name="Translation"/>

</module>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值