Commit 7b31056d authored by Gerson Sunyé's avatar Gerson Sunyé
Browse files

more conventions

parent c128189e
......@@ -7,3 +7,41 @@ que cette règle, dans le format _kebab case_.
Par exemple, si la règle s'appelle `UseArrayListInsteadOfVector`, le nom du
fichier xmi doit être `use-array-list-instead-of-vector.xmi`.
== Commentaires
Distinguez les commentaires internes et externes des règles.
Les commentaires externes s'adressent aux utilisateurs des règles.
Ils expliquent ce que fait la règle.
Ils sont précédés d'un triple tiret: "---".
Les commentaires internes s'adressent aux autres développeurs.
Ils expliquent _comment_ la règle fonctionne.
Ils peuvent aussi expliquer certains choix pas évidents en première lecture.
Par exemple:
[source]
----
--- Returns the number of empty switch cases of a switch statement
helper def: nbEmptySwitchCasesOfASwitchStatement(ss:java!SwitchStatement) : Integer =
-- Gets the number of SwitchCases whoses next sibling is also a SwitchCase
-- and adds the last one if it's a switch case
ss.statements
->excluding(ss.statements.last())
->select(statement |
statement.oclIsTypeOf(java!SwitchCase) and
thisModule.nextSiblingIsSwitchCase(ss.statements.indexOf(statement), ss.statements)
).size() +
ss.statements->select(statement
| statement = ss.statements.last() and statement.oclIsTypeOf(java!SwitchCase)).size()
;
----
== Écriture des règles
Essayez de garder les règles simples.
Évitez d'utiliser les déclarations `iterate`, qui rendent les règles moins lisibles.
Les déclarations `if/then/else` sont strictement interdites.
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment