This page was moved to https://cwiki.apache.org/confluence/display/CAUSEWAY/Style Guide
Click in the link above if you are not automatically redirected in 10 seconds.


You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

To date any style and coding standards have been de-facto rather than defined.  This page is to gather ideas/opinions to improve this, perhaps leading to some maintained configuration for the two main IDEs in use (IntelliJ and JetBrains).

Current set up

Import Orders

Andi and I figured out how to configure Eclipse and IntelliJ so that they are consistent with import orders:

Other Coding Standards

For Eclipse there are also some additional coding standards that I used to use from when I was an Eclipse user (I switched about 6 years ago)  ... but I haven't created equivalent settings for IntelliJ.

Contributors Guide

We currently have a Contributors' Guide (https://apache-isis-committers.github.io/isis-nightly/conguide/about.html) though this doesn't - yet - define any standards.  My plan is that it ought to reference the Eclipse and IntelliJ standards once we have them (it could reference the import orders, because these do exist .... just haven't got around to updating it).

Sonar Cloud

Andi configured our CI to run through SonarCloud, dashboard at https://sonarcloud.io/dashboard?id=apache_isis.  I haven't looked into the quality profile that it's using, I imagine it's probably just the out-of-the-box settings.  Note that SonarCloud warnings/errors do NOT break our CI.

Miscellanea

What sort of stuff do we like/dislike?  Use this section to gather any pet preferences or hates...  We can then figure out which we agree on, and how to enforce (ideally via IDE configuration + SonarCloud config).

  • all parameters are final (Dan)
  • in a interface
    • method signatures without public and or abstract
    • inner classes without public and static
  • no multiple empty lines? 
  • last line empty?
  • WIP: rules about character cases
  • No labels