开头

学习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>

更多相关文章

  1. eclipse中为android工程第三方jar包关联源代码的方法
  2. android导入外部已存在的数据库大于1M的数据库文件方法
  3. Android(安卓)修改R包名方法
  4. 写给Android(安卓)App开发人员看的Android底层知识(1)
  5. android工程中引入第三方JAR包后安装APK时老是提示找不到库文件
  6. Android(安卓)Studio 2.0 Instant Run即时运行功能实现分析
  7. Android使用SVG小结
  8. 备战面试旺季:2019年Android面试题整理(组件+View+线程+面经)
  9. Android批量打不同的渠道包方法-使用第三方插件

随机推荐

  1. 哪个同步盘好一些
  2. Linux内存、Swap、Cache、Buffer详细解析
  3. 从键盘输入若干个学生成绩,输入负数作为输
  4. js基础知识:字符串数组方法及留言本实例
  5. 键盘输入10 个数,输出最大值和最小值及其
  6. 留言板实战与添加字数实时统计功能
  7. 键盘输入学生成绩,输入负值时输入结束,求平
  8. JavaScript:数学对象,随机生成数字验证码
  9. 目录变乱码如何修复
  10. 备份软件老矣?存储新风口——超融合第二存