Difference between revisions of "Coding guidelines"

From SIMA wiki
Jump to: navigation, search
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
  
 
== General Conventions ==
 
== General Conventions ==
#Comment your code ([[documentation_guidelines]])
+
#Comment your code ([[Documentation guidelines]])
 
#One File - One Class
 
#One File - One Class
 
#Don't add packages with a wildcard (e.g. java.lang.* - instead always type the whole package name java.lang.Integer)
 
#Don't add packages with a wildcard (e.g. java.lang.* - instead always type the whole package name java.lang.Integer)
 
# Produce readable code
 
# Produce readable code
 
# Produce efficient code (in this order - first readability, then efficiency)
 
# Produce efficient code (in this order - first readability, then efficiency)
 +
 +
To ease development while following the rules a checkstyle file can be used. [[Checkstyle_Eclipse|Download and configuration with Eclipse]]
  
 
== Naming Conventions ==
 
== Naming Conventions ==
 
camel case + (reduced) hungarian notation = ARS coding guidline
 
camel case + (reduced) hungarian notation = ARS coding guidline
  
;example camel case clsHeimoZeilinger (new word –> capital letter)
+
example camel case: clsHeimoZeilinger (new word –> capital letter)
;example hungarian  mnCountOfHeimos (m for member, n typeof integer)
+
 
;Origin [http://en.wikipedia.org/wiki/Hungarian_notation|Hungarian notation - Wikipedia]
+
example hungarian: mnCountOfHeimos (m for member, n typeof integer)
 +
 
 +
Origin: [http://en.wikipedia.org/wiki/Hungarian_notation Hungarian notation - Wikipedia]
 +
 
 +
 
 +
 
 +
Basics in (reduced) hungarian notation:
 +
 
 +
1st letter:
 +
      m ... member
 +
      p ... method parameter
 +
      i ... interface parameter
 +
      s ... static variable
 +
  blank ... function scope
 +
        ... to be continued
 +
 
 +
 
 +
2nd letter:
 +
 
 +
b ... boolean
 +
e ... enum
 +
n ... number (integer, long)
 +
r ... real (floating point, double)
 +
o ... object (also string)
 +
g ... generic
 +
  ... to be continued
 +
 
 +
== File notation (java/eclipse) ==
 +
 
 +
clsXYZ          ... Classe Files
 +
XYZ              ... Class Files that contain the method //public static main(String args[])// and that are meant to be used to start the application
 +
itfXYZ          ... Java Interface
 +
tstXYZ          ... junit Test Cases
 +
tssXYZ          ... junit Test Suites

Latest revision as of 14:58, 17 February 2013

General Conventions

  1. Comment your code (Documentation guidelines)
  2. One File - One Class
  3. Don't add packages with a wildcard (e.g. java.lang.* - instead always type the whole package name java.lang.Integer)
  4. Produce readable code
  5. Produce efficient code (in this order - first readability, then efficiency)

To ease development while following the rules a checkstyle file can be used. Download and configuration with Eclipse

Naming Conventions

camel case + (reduced) hungarian notation = ARS coding guidline

example camel case: clsHeimoZeilinger (new word –> capital letter)

example hungarian: mnCountOfHeimos (m for member, n typeof integer)

Origin: Hungarian notation - Wikipedia


Basics in (reduced) hungarian notation:

1st letter:

     m ... member
     p ... method parameter
     i ... interface parameter
     s ... static variable
 blank ... function scope
       ... to be continued


2nd letter:

b ... boolean
e ... enum
n ... number (integer, long)
r ... real (floating point, double)
o ... object (also string)
g ... generic
 ... to be continued

File notation (java/eclipse)

clsXYZ           ... Classe Files
XYZ              ... Class Files that contain the method //public static main(String args[])// and that are meant to be used to start the application
itfXYZ           ... Java Interface
tstXYZ           ... junit Test Cases
tssXYZ           ... junit Test Suites