Difference between revisions of "Coding guidelines"
(3 intermediate revisions by one other user not shown) | |||
Line 6: | Line 6: | ||
# 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 == | ||
Line 14: | Line 16: | ||
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 | + | Origin: [http://en.wikipedia.org/wiki/Hungarian_notation Hungarian notation - Wikipedia] |
Line 38: | Line 40: | ||
g ... generic | g ... generic | ||
... to be continued | ... to be continued | ||
− | |||
== File notation (java/eclipse) == | == File notation (java/eclipse) == |
Latest revision as of 14:58, 17 February 2013
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)
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