I think making non-WYSIWYG the default is a nice compromise; +1 for that...

-----Original Message-----
From: amdatu-developers-bounces at amdatu.org 
[mailto:[email protected]] On Behalf Of Marcel Offermans
Sent: maandag 11 oktober 2010 12:39
To: amdatu-developers at amdatu.org
Subject: Re: [Amdatu-developers] [amdatu] Amdatu > Java Coding Style Guide

So if we want to make sure that no WYSIWYG editing will mess up the code, we 
should embed each page in those @x@ markers, which defeats the purpose of 
having WYSIWYG. I think proper diffs are important here, even though I see why 
Ivo thinks it's more convenient to be able to edit like this, so I would say +1 
on disabling, or at least making non-WYSIWYG the default.

Greetings, Marcel


On 11 Oct 2010, at 12:30 , Bram de Kruijff wrote:

>> I guess so. I like the WYSIWIG though, in general it works fine and you can 
>> always switch to plain text. So:
>
> That might be the problem ;) If I put code in a page all is well. But then 
> when you edit that same page using WYSIWIG a few days later, without even 
> looking at or touching my code, it gets messed up. Not sure when and where 
> things go wrong (which is kind of the issue). But the one I referred to 
> before is this:
>
> 1) Add '@x@' in wiki markup mode and save
> 2) Edit the page in rich text mode (not touching the @x@ which is shown as an 
> input field) and save
> 3) The text is no '(x)' and in wiki markup looks like '  \(x)' :S
>
> Note that this only happens outside a '{code}' block and there may be a 
> reason that I am not aware of.. but it is scary :)
>
> Grz
> Bram
>
>
>
> From: amdatu-developers-bounces at amdatu.org 
> [mailto:amdatu-developers-bounces at amdatu.org] On Behalf Of Ivo Ladage-van 
> Doorn
> Sent: Monday, October 11, 2010 12:16 PM
> To: amdatu-developers at amdatu.org
> Subject: Re: [Amdatu-developers] [amdatu] Amdatu > Java Coding Style Guide
>
> I guess so. I like the WYSIWIG though, in general it works fine and you can 
> always switch to plain text. So:
> -1 for disabling
>
>
> From: amdatu-developers-bounces at amdatu.org 
> [mailto:amdatu-developers-bounces at amdatu.org] On Behalf Of Marcel Offermans
> Sent: maandag 11 oktober 2010 12:00
> To: amdatu-developers at amdatu.org
> Subject: Re: [Amdatu-developers] [amdatu] Amdatu > Java Coding Style Guide
>
> WTF? I just changed the section about line lengths. Is this the WYSIWYG 
> editor messing with the code? Probably. Should we disable it?
>
> On 11 Oct 2010, at 11:53 , <webmaster at amdatu.org> wrote:
>
> Java Coding Style Guide
> Page edited by Marcel Offermans
> Comment: as suggested on the mailing list, added an explicit line length
>
> Changes (19)
> ...
> - package and import statements;
> - class and interface declarations.
>
> h3. Beginning comments
> ...
> A few notes must be made here:
> # Package rules.
> When not using an explicit package statement in your code the code still is 
> in a package, the default package. This easily results in name clashes and as 
> package naming should be a part of the design, always use an explicit package 
> name. For naming rules of packages see [naming 
> conventions|#namingconventions].
> # Import statements need to be explicit in order to overcome name clashes.
> They must be grouped by name.
> # Import order.
> First in this section should be the standard Java imports like: 
> java.lang.Throwable. Second should be the Java extensions (i.e. javax), 
> third, the third party stuff. Finally the project-specific imports should be 
> added.
>
> h4. Class, interface, enum and annotation declarations
> ...
>
> || Part of declaration || Notes ||
> | (static) variables | These should be grouped by functionality rather than 
> by scope. |
> | documentation | According to comment block as shown above. | | class, 
> interface, enum or annotation statement | |
> |(static) variables|These | instance variables | These should be grouped by 
> functionality rather than by scope. |
> |instance variables|These should be grouped by functionality rather than by 
> scope.|
> | constructors | Start with the default constructor if any. | | methods | 
> These methods should also be grouped by functionality rather than by scope or 
> accessibility. E.g. a private class method can be in between two public 
> instance methods. The goal is to make reading and understanding the code 
> easier. When implementing an interface, group the methods that are part of 
> the interface. | | inner classes | Are placed at the bottom of the file. |
>
> h4. Annotations
> ...
> h2. Indentation
> Four spaces should be used as unit of indentation. Use spaces or let your 
> editor convert tabs to spaces as some editors might show the tabs different 
> than they were intended\!Tabs must be set exactly every 4 spaces.
>
>
> h3. Line length
> There is no explicit limit for the length of a line. Make sure that the flow 
> of the code is clear and that, when printing the file, it is well formed when 
> using a reasonable font.
> The length of a single line of code is limited to 120 characters. Make sure 
> that the flow of the code is clear and that, when printing the file, it is 
> well formed when using a reasonable font.
>
> h3. Wrapping lines
> ...
> h4. Block comments
> The compiler ignores everything from /\* to \*/. Use this style for internal 
> comments and copyright headers.
>
> {code}
> ...
> * This code is Copyright (c) 2009 Apache Software Foundation. All rights 
> reserved.
> * You are not allowed to remember or reproduce anything you read below.
> */
> {code}
>
> h4. JavaDoc comments
> This indicates a documentation comment (doc comment, for short). The compiler 
> ignores this kind of comment, just like it ignores comments that use /\* and 
> \*/. The JavaDoc tool uses doc comments when preparing automatically 
> generated documentation (See: JavaDoc keywords and HTML tags). Note that 
> JavaDoc only uses this documentation when it occurs at an expected position 
> in the file like the class definition or a member declaration.
>
> These comments are used to provide English descriptions of the classes, 
> interfaces, enums, annotations, methods and the description of data 
> structures and algorithms. These comments should be used at the beginning of 
> each class and before each method. The official JavaDoc guidelines (see 
> references at the end of this document) should be followed, as they provide a 
> good and clear writing style.
> ...
> For class headers, method headers and member variables JavaDoc is used in 
> order to generate API documentation. Some HTML-tags that can be used in order 
> to make the comment blocks more readable:
> || Tag || Short description || | <p> | New paragraph. | | <br> | Break, a 
> carriage return. For separation of two paragraphs, usage of <p> is preferred. 
> | | <ul><li></li></ul> | Unordered list of items. Each item should start with 
> a <li> tag. Most browsers format this as a bullet list. | | <code></code> | 
> Code samples. Use this when refering to class names, method names, parameter 
> names, etc. |
>
> {note}There is no need to embed the parameter name in the @param tag in 
> <code> tags; this is done by JavaDoc automatically. The same holds for the 
> exception name in the @exception or @throws tag. In the clarifying text 
> however, use the <code> tags when refering to parameter names etc. The 
> example below shows the <code> tag being used for the array parameter in the 
> text, but not in its definition.{note}
> ...
> *
> * @param list contains the objects to print
> * @param first index of first element in
> * the <code>list</code> to print
> */
> public void printRange(List<Printable> list, int first) {
> {code}
>
> h1. Java syntax and its layout
> ...
>
> # accessibility
> Start with the accessibility as it makes clear if the method or variable is 
> reachable at all.
> # static (if applicable)
> # final (if applicable)
> # return type (methods only) or type (for variables)
> For readability, the type is as close to the name as possible.
>
> This order is also compatible with the order that is used in Java for the 
> main() method. This results in following sequence:
> ...
> h3. Initialization
> The initialization of class variables is strictly not necessary because of 
> the default initialization that takes place for these kinds of members. For 
> some types, e.g. Booleans, this requires detailed knowledge of all the 
> default values so it is more clear and explicit to initialize each member.
>
> Variables that are used and declared within methods must always be 
> initialized explicitly (the compiler will generate an error when you forget 
> this).
> ...
> }
> {code}
>
> h2. Statements
> ...
>
> - The enclosed statements should be indented one more level than the compound 
> statement.
> - The opening brace should be at the end of the line that begins the compound 
> statement; the closing brace should begin a line and be indented to the 
> beginning of the compound statement. - Braces are used around all statements, 
> even single statements, when they are part of a control structure, such as a 
> if-else or for statement. This makes it easier to add statements without 
> accidentally introducing bugs due to forgetting to add braces.
>
> h3. if, if-else, if else-if else statements
> ...
>
> Note that in the example the else if construction is started at a new line so 
> the statement can not be overlooked.
>
> h3. switch
> ...
> try {
> statements;
> }
> catch (ExceptionClass e) {
> statements;
> ...
> try {
> statements;
> }
> catch (ExceptionClass e) {
> statements;
> ...
> Naming conventions make programs more understandable by making them easier to 
> read. They can also give information about the function of the identifier.
> || Identifier Type || Rules for Naming || Examples ||
> | (inner) classes, interfaces, enums and annotations | Names should be nouns, 
> in mixed case with the first letter of each word capitalised. Try to keep 
> your names simple and descriptive. Use whole words and avoid acronyms and 
> abbreviations.|class Raster;abbreviations. | class TreeFrame;| Raster;
> class TreeFrame; |
> | interfaces | Like class names, but if there is a name clash, the interface 
> wins. | Repository |
> |services|Same | services | Same as interfaces, so don't append "Service" as 
> you usually do not know if an interface is a service or not.|-| not. | \- |
> |implementation classes|If | implementation classes | If a class implements 
> an interface, it should use the name of the interface as part of its name, 
> adding something specific for this implementation to it, or Impl if that does 
> not make sense. | classFileBasedRepository implements Repository; class 
> VersionServlet implements HttpServlet; |
> class VersionServlet implements HttpServlet; |
> | exceptions | Like class names; always ending in "Exception" | 
> InputException | | methods | Methods should be verbs in mixed case with the 
> first letter lowercase. Within each method name capital letters separate 
> words. Property methods or get-set methods are used as follows:\\
> When a method is used to get a value start the method name with 'get'. When a 
> method is used to set a value start the method name with 'set'.|run(); 
> runFast(); setBackground();| 'set'. | run();
> runFast(); \\
> setBackground(); |
> | variables (except for (constant) static final variables and member 
> variables) | Allvariables are in mixed case with a lowercase first letter. 
> Words are separated by capital letters. | int index; float myWidth;|
> float myWidth; |
> |member variables|The | member variables | The same capitalisation as for 
> normal variables prefixed with 'm_'. | int m_index; float m_myWidth;|
> float m_myWidth; |
> | constant (static final) variables, enum names | Names should be all 
> uppercase with words separated by underscores ("_"). | public static final 
> int BLACK = 99; | | packages | Lowercase only; avoid lengthy package names; 
> always start with org.apache.ace. | org.apache.ace.demo.bundle |
>
> h1. References
>
> - Java Code Conventions - Sun Microsystems, Inc.
> [http://java.sun.com/docs/codeconv/]
> - How to Write Doc Comments for JavaDoc - Sun Microsystems, Inc.
> [http://java.sun.com/j2se/javadoc/writingdoccomments/]
> - JavaDoc homepage - Sun Microsystems, Inc.
> [http://java.sun.com/j2se/javadoc/]
> Full Content
> Introduction
> This is a Java coding style guide for the project.
> Summary
> This style guide is intended to help the computer professional produce better 
> Java programs. It presents a set of specific guidelines for using the 
> features of Java in a disciplined manner. The goal is to develop high 
> quality, reliable, reusable, portable software. For a number of reasons, no 
> programming language can ensure the achievements of these desirable 
> objectives on its own. Programming must be embedded in a disciplined 
> development process that addresses a number of topics in a well managed way. 
> The use of Java is one of those. It must conform to good programming practice 
> based on well established software engineering principles. This style guide 
> is intended to bridge the gap between these principles and the actual 
> practice of programming in Java.
> Clear, readable, understandable source text eases program evolution, 
> adaptation and maintenance. First, such source text is more likely to be 
> correct and reliable. Second, effective code adaptation is a prerequisite to 
> code reuse, a technique that has the potential for drastic reductions in 
> system development costs. Easy adaptation requires thorough understanding of 
> the software, and that is facilitated considerably by clarity. Finally, since 
> maintenance (really evolution) is a costly process that continues throughout 
> the life of a system, clarity plays a major role in keeping maintenance costs 
> down. Over the entire life cycle, code has to be read and understood far more 
> often than it is written; the investment of effort in writing readable, 
> understandable code is thus well worthwhile. Many of the guidelines in this 
> style guide are designed to promote clarity of the source text.
> This style guide is intended for those involved in the development of real 
> software systems written in Java. Different roles in a software project can 
> exploit the style guide in different ways. The programmer can use it as a 
> reference on good Java style. It can be used in code reviews as a common 
> reference. Finally, lessons learned in real projects can be captured by 
> extending the style guide.
> Class layout and comments
> This chapter describes the layout for classes, interfaces, enums and 
> annotations. These all share a set of common properties, so they will be 
> described together and for readability all called 'classes' here.
> Files and filenames
> Files longer than 2000 lines are cumbersome and should be avoided.
> File names
> The file must be named after the class it represents. As for most cases each 
> file contains only one class, this is an easy naming convention. For nested 
> or inner classes the name of the main class must be the name of the file. As 
> names in Java are case-sensitive, the filename is case-sensitive also.
> File organization
> Each Java source file contains a single class or interface. Of course, this 
> excludes inner classes as these must be defined without an (outer) class, and 
> thus in the same file.
> Java source files have the following ordering:
> * beginning comments;
> * package and import statements;
> * class and interface declarations.
> Beginning comments
> Beginning comments are used for licensing and copyright information only. 
> Here at Apache, we embed the ASL 2.0 headers at the top of every file. Note 
> that they are not according to the JavaDoc style (See: How to write doc 
> comments for JavaDoc - Sun Microsystems, Inc.).
> Package and import statements
> The first non-comment line of most Java source files is a package statement. 
> After an empty line import statements can follow. For example:
> package org.apache.ace.core.ui;
>
> import java.awt.Frame;
> import java.io.InputStream;
> A few notes must be made here:
> 1. Package rules.
> When not using an explicit package statement in your code the code still is 
> in a package, the default package. This easily results in name clashes and as 
> package naming should be a part of the design, always use an explicit package 
> name. For naming rules of packages see naming conventions.
> 2. Import statements need to be explicit in order to overcome name clashes.
> They must be grouped by name.
> 3. Import order.
> First in this section should be the standard Java imports like: 
> java.lang.Throwable. Second should be the Java extensions (i.e. javax), 
> third, the third party stuff. Finally the project-specific imports should be 
> added.
> Class, interface, enum and annotation declarations
> The following comment block is an example for the comment that belongs to the 
> declaration of a class, interface, enum or annotation. The JavaDoc syntax 
> results in the following block:
> /**
> * Configuration manager. Manages the configuration of an application. Has 
> features
> * to import and export whole configurations and notifies components that need 
> to
> * receive settings.
> */
> The following table describes the parts of a class, interface, enum or 
> annotation declaration, in the order that they should appear.
> Part of declaration
> Notes
> documentation
> According to comment block as shown above.
> class, interface, enum or annotation statement
>
> (static) variables
> These should be grouped by functionality rather than by scope.
> instance variables
> These should be grouped by functionality rather than by scope.
> constructors
> Start with the default constructor if any.
> methods
> These methods should also be grouped by functionality rather than by scope or 
> accessibility. E.g. a private class method can be in between two public 
> instance methods. The goal is to make reading and understanding the code 
> easier. When implementing an interface, group the methods that are part of 
> the interface.
> inner classes
> Are placed at the bottom of the file.
> Annotations
> Annotations for classes and methods should be done on the line directly above 
> the class or method. They should be indented to the same level. An example:
> @Manageable(description = "Starts the system.")
> public void start() {
>    // ...
> }
> Annotations for parameters can be inlined like this:
> public void setValue(@Validation("x > 0 && x < 10", "Should be between 0 and 
> 10.") int x) {
>    // ...
> }
> Indentation
> Four spaces should be used as unit of indentation. Use spaces or let your 
> editor convert tabs to spaces as some editors might show the tabs different 
> than they were intended! Tabs must be set exactly every 4 spaces.
> Line length
> The length of a single line of code is limited to 120 characters. Make sure 
> that the flow of the code is clear and that, when printing the file, it is 
> well formed when using a reasonable font.
> Wrapping lines
> When an expression will not fit on a single line, break it according to these 
> general principles:
> * break after a comma;
> * break before an operator;
> * prefer higher level breaks to lower level breaks;
> * indent the new line with a tab;
> * if the above rules lead to confusing code or to code that's squished up 
> against the right margin, please use common sense.
> Comment
> Comment styles
> The Java language supports three different kinds of comments:
> 1. single line comments;
> 2. block comments;
> 3. JavaDoc comments.
> Single line comments
> The compiler ignores everything from // to the end of the line. Use this 
> style when adding a description or some kind of explanation on the same line 
> of code or the line above.
> int a; // acceleration of the car
>
> // all names that should be searched
> String[] names;
> Block comments
> The compiler ignores everything from /* to */. Use this style for internal 
> comments and copyright headers.
> /*
> * This code is Copyright (c) 2009 Apache Software Foundation. All rights 
> reserved.
> * You are not allowed to remember or reproduce anything you read below.
> */
> JavaDoc comments
> This indicates a documentation comment (doc comment, for short). The compiler 
> ignores this kind of comment, just like it ignores comments that use /* and 
> */. The JavaDoc tool uses doc comments when preparing automatically generated 
> documentation (See: JavaDoc keywords and HTML tags). Note that JavaDoc only 
> uses this documentation when it occurs at an expected position in the file 
> like the class definition or a member declaration.
> These comments are used to provide English descriptions of the classes, 
> interfaces, enums, annotations, methods and the description of data 
> structures and algorithms. These comments should be used at the beginning of 
> each class and before each method. The official JavaDoc guidelines (see 
> references at the end of this document) should be followed, as they provide a 
> good and clear writing style.
> A method block comment looks as follows:
> /**
> * Position the splitter location at a specified position.
> * This method can for instance be used when the last position
> * is stored as a preference setting for the user.
> *
> * @param position New position of divider, defined in pixels
> *     from the left of the containing window.
> * @exception org.apache.ace.units.si.exceptions.PositionException Whenever
> *     an invalid position is passed.
> * @see com.sun.java.swing.JSplitPane
> */
> public void setSplitterLocation(int position) throws PositionException {
> HTML tags
> For class headers, method headers and member variables JavaDoc is used in 
> order to generate API documentation. Some HTML-tags that can be used in order 
> to make the comment blocks more readable:
> Tag
> Short description
> <p>
> New paragraph.
> <br>
> Break, a carriage return. For separation of two paragraphs, usage of <p> is 
> preferred.
> <ul><li></li></ul>
> Unordered list of items. Each item should start with a <li> tag. Most 
> browsers format this as a bullet list.
> <code></code>
> Code samples. Use this when refering to class names, method names, parameter 
> names, etc.
>
> There is no need to embed the parameter name in the @param tag in <code> 
> tags; this is done by JavaDoc automatically. The same holds for the exception 
> name in the @exception or @throws tag. In the clarifying text however, use 
> the <code> tags when refering to parameter names etc. The example below shows 
> the <code> tag being used for the array parameter in the text, but not in its 
> definition.
> Example:
>
> /**
> * Prints a range from an object array. The range
> * is specified by the first element to print, and
> * ranges to the last element of the array.
> *
> * @param list contains the objects to print
> * @param first index of first element in
> *     the <code>list</code> to print
> */
> public void printRange(List<Printable> list, int first) {
> Java syntax and its layout
> Declarations
> When declaring a variable or method make the accessibility as restrictive as 
> possible. When using multiple keywords use the following ordering of keywords:
> 1. accessibility
> Start with the accessibility as it makes clear if the method or variable is 
> reachable at all.
> 2. static (if applicable)
> 3. final (if applicable)
> 4. return type (methods only) or type (for variables)
> For readability, the type is as close to the name as possible.
> This order is also compatible with the order that is used in Java for the 
> main() method. This results in following sequence:
> // A familiar one:
> public static void main(String[] args) {}
> private static String m_lastCreated = null;
> private static final int RED = 4711;
> Number per line
> One declaration per line is recommended since it encourages commenting and it 
> does not lead to confusing code. It also is more clear about the explicit 
> initialization of variables as discussed in Initialization.
> Example:
> int level = 0; // level where user enters the system
> int horizontalSize = 0; // horizontal size of current level layer
> is preferred over:
> int level, horizontalSize; // level and size of current level layer
> Placement
> In a method, declare local variables just before they are needed. This 
> overcomes the problem of a big list of parameters at the beginning of a 
> method and the use of a variable becomes more clearly in the context of the 
> code, e.g. its initialization.
> Initialization
> The initialization of class variables is strictly not necessary because of 
> the default initialization that takes place for these kinds of members. For 
> some types, e.g. Booleans, this requires detailed knowledge of all the 
> default values so it is more clear and explicit to initialize each member.
> Variables that are used and declared within methods must always be 
> initialized explicitly (the compiler will generate an error when you forget 
> this).
> Class and Interface Declarations
> When coding Java classes and interfaces, the following formatting rules 
> should be followed:
> * no space between a method and its parameter list;
> * "{" appears at the end of the same line as the declaration;
> * "}" starts a line by itself indented to match its corresponding opening 
> statement, except when it is a null statement, in which the case the "}" 
> should appear immediately after the "{".
> Example:
> public class DefaultStrategy extends Strategy {
>    private int m_attempts = 0;
>
>    public DefaultStrategy(int attempts) {
>                super();
>            m_attempts = attempts;
>    }
>
>    void execute() {}
> }
> Statements
> Simple statements
> Each line should contain at most one statement.
> Compound statements
> Compound statements are statements that contain lists of statements enclosed 
> in braces ("{...}"):
> * The enclosed statements should be indented one more level than the compound 
> statement.
> * The opening brace should be at the end of the line that begins the compound 
> statement; the closing brace should begin a line and be indented to the 
> beginning of the compound statement.
> * Braces are used around all statements, even single statements, when they 
> are part of a control structure, such as a if-else or for statement. This 
> makes it easier to add statements without accidentally introducing bugs due 
> to forgetting to add braces.

> if, if-else, if else-if else statements
> There are a lot of nested possibilities for if-else constructions. All these 
> variations can be programmed in very cryptic ways that easily and often will 
> lead to buggy code. By being more explicit in the used coding style a lot of 
> confusion can be taken away.
>
> When using only one statement in a compound block brackets are optional. It 
> is good practice, and therefore required, to always use brackets because 
> mistakes can be made easily when adding a second statement and brackets are 
> forgotten.
> The following example illustrates the correct use of brackets in a few 
> different if-then-else constructions:
> if (condition) {
>    statement1;
>    statement2;
> }
> else {
>    statement3;
> }
>
> if (condition) {
>    statement1;
>    statement2;
> }
> else if (condition1) {
>    statement3;
>    statement4;
> }
> else {
>    statement5;
>    statement6;
> }
> Note that in the example the else if construction is started at a new line so 
> the statement can not be overlooked.
> switch
> When using a switch statement use following guidelines:
> * Consider including a default case, unless it would do nothing. The break in 
> the default case is redundant, but it prevents a fall-through error if later 
> another case is added.
> * The so-called fall-through construction should be avoided. Only when there 
> are good reasons to use it, make sure that it is very clear that a 
> fall-through is used (comment it).
> The next example shows the sample code that uses the guidelines for a switch 
> statement:
> switch (condition) {
>    case A:
>            statements;
>            // falls through here, because...
>    case B:
>            statements;
>            break;
>    default:
>            statements;
>            break;
> }
> try - catch
> A try - catch statement should have the following format:
> try {
>    statements;
> }
> catch (ExceptionClass e) {
>    statements;
> }
> When using finally to add code that always will be executed this will look 
> like:
> try {
>    statements;
> }
> catch (ExceptionClass e) {
>    statements;
> }
> finally {
>    statements;
> }
> Note that the catch and the finally start at a new line in order to be 
> compliant to the guidelines for if-then-else statements.
> for loops
> New style for loops are generally preferred over old style ones, unless you 
> explicitly need the index, or you have to make the code run on pre-Java 5 
> virtual machines.
> Old style, a good example that needs the index anyway:
> // lookup a value in a list, return the index
> List<Element> list;
> for (int i = 0; i < list.size(); i++) {
>    if (value.equals(list.get(i)) {
>        return index;
>    }
> }
> New style, a good example that iterates over a list without any need for an 
> index or type casts:
> // iterate over a list, printing all values
> List<Element> list;
> for (Element e : list) {
>    System.out.println(" - " + e);
> }
> White Space
> Blank lines
> Blank lines improve readability by setting of sections of code that are 
> logically related. One blank line should always be used in the following 
> circumstances:
> * between class and interface definitions;
> * between methods;
> * before a block or single line comment;
> * between logical sections inside a method to improve readability.
> Blank spaces
> Blank spaces should be used in the following circumstances:
> * A keyword followed by a parenthesis should be separated by a space.
> * while (index > 5) {
> *     // ...
> * }
> Note that blanks should not be used between a method call and its opening 
> parenthesis. This helps to distinguish keywords from function calls.
> * Blanks should appear after commas in argument lists.
> * All binary and ternary operators except "." should be separated from their 
> operands by spaces. Blanks should never separate unary operators such as 
> unary minus, increment("++") and decrement("--") from their operands.
> * a += c + d;
> * a = (a + b) / (c * d);
> * a = (b > c) ? b : c;
> * xCoord--;
> * The expressions in a for statement should be separated by blanks.
> * for (expr1; cond1; expr2) {
> * Casts should be followed by a blank.
> * myInstance.doIt((TreeFrame) frame);
> Naming conventions
> Naming conventions make programs more understandable by making them easier to 
> read. They can also give information about the function of the identifier.
> Identifier Type
> Rules for Naming
> Examples
> (inner) classes, interfaces, enums and annotations
> Names should be nouns, in mixed case with the first letter of each word 
> capitalised. Try to keep your names simple and descriptive. Use whole words 
> and avoid acronyms and abbreviations.
> class Raster;
> class TreeFrame;
> interfaces
> Like class names, but if there is a name clash, the interface wins.
> Repository
> services
> Same as interfaces, so don't append "Service" as you usually do not know if 
> an interface is a service or not.
> -
> implementation classes
> If a class implements an interface, it should use the name of the interface 
> as part of its name, adding something specific for this implementation to it, 
> or Impl if that does not make sense.
> class FileBasedRepository implements Repository;
> class VersionServlet implements HttpServlet;
> exceptions
> Like class names; always ending in "Exception"
> InputException
> methods
> Methods should be verbs in mixed case with the first letter lowercase. Within 
> each method name capital letters separate words. Property methods or get-set 
> methods are used as follows:
> When a method is used to get a value start the method name with 'get'. When a 
> method is used to set a value start the method name with 'set'.
> run();
> runFast();
> setBackground();
> variables (except for (constant) static final variables and member variables)
> All variables are in mixed case with a lowercase first letter. Words are 
> separated by capital letters.
> int index;
> float myWidth;
> member variables
> The same capitalisation as for normal variables prefixed with 'm_'.
> int m_index;
> float m_myWidth;
> constant (static final) variables, enum names
> Names should be all uppercase with words separated by underscores ("_").
> public static final int BLACK = 99;
> packages
> Lowercase only; avoid lengthy package names; always start with org.apache.ace.
> org.apache.ace.demo.bundle
> References
> * Java Code Conventions - Sun Microsystems, Inc.
> http://java.sun.com/docs/codeconv/
> * How to Write Doc Comments for JavaDoc - Sun Microsystems, Inc.
> http://java.sun.com/j2se/javadoc/writingdoccomments/
> * JavaDoc homepage - Sun Microsystems, Inc.
> http://java.sun.com/j2se/javadoc/
> Change Notification Preferences
> View Online | View Changes | Add Comment
> _______________________________________________
> Amdatu-developers mailing list
> Amdatu-developers at amdatu.org
> http://lists.amdatu.org/mailman/listinfo/amdatu-developers
>
>
> _______________________________________________
> Amdatu-developers mailing list
> Amdatu-developers at amdatu.org
> http://lists.amdatu.org/mailman/listinfo/amdatu-developers


_______________________________________________
Amdatu-developers mailing list
Amdatu-developers at amdatu.org
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to