代码风格、代码规范----maven

//摘抄自:maven官网(http://maven.apache.org/developers/conventions/code.html)2014-03-01 10:43:32

Java Code Style

The Maven style for Java is mainly:

  • White space: One space after control statements and between arguments (i.e. if ( foo ) instead of if(foo)), myFunc( foo, bar, baz ) instead of myFunc(foo,bar,baz)). No spaces after methods names (i.e. void myMethod(), myMethod( "foo" ))
  • Indentation: Always use 4 space indents and never use tabs!
  • Blocks: Always enclose with a new line brace.
  • Line wrapping: Always use a 120-column line width for Java code and Javadoc.

Readingness: Specify code grouping members, if needed. For instance in a Mojo class, you could have:

public class MyMojo
{
    // ----------------------------------------------------------------------
    // Mojo components
    // ----------------------------------------------------------------------

    /**
     * Artifact factory.
     *
     * @component
     */
    private ArtifactFactory artifactFactory;

    ...

    // ----------------------------------------------------------------------
    // Mojo parameters
    // ----------------------------------------------------------------------

    /**
     * The POM.
     *
     * @parameter expression="${project}"
     * @required
     */
    private MavenProject project;

    ...

    // ----------------------------------------------------------------------
    // Mojo options
    // ----------------------------------------------------------------------
    ...

    // ----------------------------------------------------------------------
    // Public methods
    // ----------------------------------------------------------------------

    /**
     * {@inheritDoc}
     */
    public void execute()
        throws MojoExecutionException
    {
      ...
    }

    // ----------------------------------------------------------------------
    // Protected methods
    // ----------------------------------------------------------------------
    ...

    // ----------------------------------------------------------------------
    // Private methods
    // ----------------------------------------------------------------------
    ...

    // ----------------------------------------------------------------------
    // Static methods
    // ----------------------------------------------------------------------
    ...
}


XML Code Style

The Maven style for XML files is mainly:

  • Indentation: Always use 2 space indents, unless you're wrapping a new XML tags line in which case you should indent 4 spaces.

Line Breaks: Always use a new line with indentation for complex XML types and no line break for simple XML types. Always use a new line to separate XML sections or blocks, for instance:

<aTag>
  <simpleType>This is a simple type</simpleType>

  <complexType>
    <simpleType>This is a complex type</simpleType>
  </complexType>
</aTag>

In some cases, adding comments could improve the readability of blocks, for instance:

    <!-- Simple XML documentation                                               -->

or

    <!-- ====================================================================== -->
    <!-- Block documentation                                                    -->
    <!-- ====================================================================== -->



POM Code Convention

The team has voted during the end of June 2008 to follow a specific POM convention to ordering POM elements. The consequence of this vote is that the Maven project descriptor is no more considered as the reference for the ordering.

The following is the recommended ordering for all Maven POM files:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion/>

  <parent/>

  <groupId/>
  <artifactId/>
  <version/>
  <packaging/>

  <name/>
  <description/>
  <url/>
  <inceptionYear/>
  <organization/>
  <licenses/>

  <developers/>
  <contributors/>

  <mailingLists/>

  <prerequisites/>

  <modules/>

  <scm/>
  <issueManagement/>
  <ciManagement/>
  <distributionManagement/>

  <properties/>

  <dependencyManagement/>
  <dependencies/>

  <repositories/>
  <pluginRepositories/>

  <build/>

  <reporting/>

  <profiles/>
</project>
posted @ 2014-03-01 10:45  —+—  阅读(557)  评论(0编辑  收藏  举报