エンジン日記2011.1.2.21


の先頭にある
Androidを学ぶには、小さなアプリケーションや2 Dゲームに関連して、断続的に小さなものを作ったことがあります.エンジンを作る考えは昔からあって、ほほほ、原因は2つ1つ実現できると思って、何もできない可能性は比較的に小さいです;二つ目は、実現が容易ではなく、絶えず改善される過程でAndroidに対する認識もさらに向上することである.
少し大きい私心があるといえば、大学生はすぐに半分を过ぎて、自分のためにチームのために良い思い出を残したいと思っています.学生チーム、精力と経験はすべて有限で、欠けないのは情熱で、牛人は多く指導します:).
まず、私たちの7人のチームを紹介します.6人のプログラムは1人で、6人のプログラマーはすべてソフトウェアエンジニアリングの専門で、3人の大きい2人で、2人の大きい3人で、母国語はjavaで、米工大の3人で、デジタルメディアの専門で、openglを熟知して、本プロジェクトはコードの仕事に参加します.
エンジンの誕生を本編と後続のノートで記録します.
 
第1回会議
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>