Difference between revisions of "Coding guideline"

From SIMA wiki
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 14: Line 14:
 
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)\\
+
*example hungarian : mnCountOfHeimos (m for member, n typeof integer)\\
[[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:
Line 22: Line 22:
 
1st letter:
 
1st letter:
  
      m ... member
+
*m ... member
      p ... method parameter
+
*p ... method parameter
      i ... interface parameter
+
*i ... interface parameter
      s ... static variable
+
*s ... static variable
  blank ... function scope
+
*blank ... function scope
        ... to be continued
+
 
  
 
2nd letter:
 
2nd letter:
  
b ... boolean
+
*b ... boolean
e ... enum
+
*e ... enum
n ... number (integer, long)
+
*n ... number (integer, long)
r ... real (floating point, double)
+
*r ... real (floating point, double)
o ... object (also string)
+
*o ... object (also string)
g ... generic
+
*g ... generic
  ... to be continued
+
 
  
  
Line 43: Line 43:
 
===== File notation (java/eclipse) =====
 
===== File notation (java/eclipse) =====
  
clsXYZ          ... Classe Files
+
*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
+
*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
+
*itfXYZ          ... Java Interface
tstXYZ          ... junit Test Cases
+
*tstXYZ          ... junit Test Cases
tssXYZ          ... junit Test Suites
+
*tssXYZ          ... junit Test Suites

Latest revision as of 18:01, 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


2nd letter:

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



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