Difference between revisions of "Coding guideline"

From SIMA wiki
Jump to: navigation, search
Line 16: Line 16:
 
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)\\
 
example hungarian : mnCountOfHeimos (m for member, n typeof integer)\\
//Origin: [[http://en.wikipedia.org/wiki/Hungarian_notation|Hungarian notation - Wikipedia]]//
+
[[http://en.wikipedia.org/wiki/Hungarian_notation|Hungarian notation - Wikipedia]]
  
 
Basics in (reduced) hungarian notation:
 
Basics in (reduced) hungarian notation:
  
 
1st letter:
 
1st letter:
<code>
+
 
 
       m ... member
 
       m ... member
 
       p ... method parameter
 
       p ... method parameter
Line 28: Line 28:
 
   blank ... function scope
 
   blank ... function scope
 
         ... to be continued
 
         ... to be continued
</code>
+
 
 
2nd letter:
 
2nd letter:
<code>
+
 
 
b ... boolean
 
b ... boolean
 
e ... enum
 
e ... enum
Line 38: Line 38:
 
g ... generic
 
g ... generic
 
   ... to be continued
 
   ... to be continued
</code>
+
 
  
  

Revision as of 16:59, 2 January 2013

Coding guidlines
General Conventions
 * Comment your code (documentation_guidelines) 
 * 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)
 * Produce readable code
 * Produce efficient code
 * (in this order - first readability, then efficiency)
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)\\ [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