The code style conventions used in the project are based on the style-guide defined of Fedora-3. They should prevent commits cluttered with format changes.
Here are the major rules:
K&R style braces
if (code) { // code } else { // code } |
Create Javadocs for types of at least the following descriptivity
/** * @author Joe Developer * @since MMM DD, YYYY */ public class MyClass |
Each source file should contain a license header much like the following:
/** * Copyright 2015 DuraSpace, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ |
Use the maven-license-plugin to check for and add missing headers:
mvn license:check |
mvn license:format |
IDE settings are located in the project source. IDE users are strongly recommended to apply these formatting settings.
We're in the process of adding checkstyle enforcement to our modules (meaning, if you violate some of the major style rules, the build will fail).
To check for violations, run the following command:
mvn checkstyle:check |