Difference between revisions of "Eiffel Coding Standard"
(→Style) |
Peter gummer (Talk | contribs) m |
||
| (3 intermediate revisions by one other user not shown) | |||
| Line 5: | Line 5: | ||
:* '''inherit''' and parent clauses | :* '''inherit''' and parent clauses | ||
* Do not use assertion clauses without tag names. | * Do not use assertion clauses without tag names. | ||
| + | |||
| + | A sample of proper formatting of code: | ||
| + | <e>note | ||
| + | description: "Descr...." | ||
| + | date: "$date: $" | ||
| + | |||
| + | class A | ||
| + | |||
| + | inherit | ||
| + | B | ||
| + | rename | ||
| + | f as g | ||
| + | end | ||
| + | |||
| + | create | ||
| + | make | ||
| + | |||
| + | feature {NONE} -- Initialization | ||
| + | |||
| + | make (a: INTEGER) | ||
| + | -- Initialize Current with `a'. | ||
| + | do | ||
| + | end | ||
| + | |||
| + | invariant | ||
| + | a_positive: a > 0 | ||
| + | |||
| + | end</e> | ||
==Style== | ==Style== | ||
| Line 16: | Line 44: | ||
end</e> | end</e> | ||
| − | If expressions are very long: | + | If expressions are very long, break them on conjunctions as in: |
<e>if | <e>if | ||
| − | expr1 | + | expr1 or else |
| + | expr2 | ||
then | then | ||
... | ... | ||
| Line 49: | Line 78: | ||
end</e> | end</e> | ||
| − | * For | + | * For punctuation, we always have a space before '''(''' and a space after ''')''', ''',''', ''':''', or ''';''': |
<e>require | <e>require | ||
a_tag: query (a, b, c) or other_query (c, d) | a_tag: query (a, b, c) or other_query (c, d) | ||
local | local | ||
i: INTEGER; j: INTEGER</e> | i: INTEGER; j: INTEGER</e> | ||
Latest revision as of 23:11, 3 August 2013
Language consideration
- Do not put a blank line between
- create and creation instructions
- inherit and parent clauses
- Do not use assertion clauses without tag names.
A sample of proper formatting of code:
note
description: "Descr...."
date: "$date: $"
class A
inherit
B
rename
f as g
end
create
make
feature {NONE} -- Initialization
make (a: INTEGER)
-- Initialize Current with `a'.
do
end
invariant
a_positive: a > 0
end
Style
- If instructions:
if expr1 then ... elseif expr2 then ... else ... end
If expressions are very long, break them on conjunctions as in:
if expr1 or else expr2 then ... end
- Loop instructions:
from ... until ... loop ... end
- Inspect instructions:
inspect expr when val1 then .... else ... end
or
inspect expr when val1 then ... else ... end
- For punctuation, we always have a space before ( and a space after ), ,, :, or ;:
require a_tag: query (a, b, c) or other_query (c, d) local i: INTEGER; j: INTEGER

