Revision ec63079e
Von Sven Schöling vor etwa 15 Jahren hinzugefügt
doc/programmierstilrichtlinien.txt | ||
---|---|---|
8 | 8 |
|
9 | 9 |
Diese Regeln sind keine Schikane, sondern erleichtern allen das Leben! |
10 | 10 |
|
11 |
Jeder, der einen Patch schickt, sollte sein Script vorher durch perltidy |
|
12 |
laufen lassen. Damit werden einige der nachfolgenden Regeln automatisch |
|
13 |
befolgt, andere hingegen nicht. Dort, wo keine perltidy-Optionen angegeben |
|
14 |
sind, muss der Programmierer selbst f?r die Einhaltung sorgen. |
|
11 |
Jeder, der einen Patch schickt, sollte seinen Code vorher ?berpr?fen. |
|
12 |
Einige der Regeln lassen sich automatisch ?berpr?fen, andere nicht. |
|
15 | 13 |
|
16 | 14 |
-------------------------------------------------------------------------- |
17 | 15 |
|
... | ... | |
137 | 135 |
$form->{"row_$i"} = $form->{"row_$i"} - 5; |
138 | 136 |
$some_hash{42} = 54; |
139 | 137 |
|
140 |
11. Die Maximale Zeilenl?nge ist nicht bescr?nkt. Zeilenl?ngen <= 79
|
|
138 |
11. Die maximale Zeilenl?nge ist nicht bescr?nkt. Zeilenl?ngen <= 79
|
|
141 | 139 |
helfen unter bestimmten Bedingungen, aber wenn die Lesbarkeit unter |
142 | 140 |
kurzen Zeilen leidet (wie zum Biespiel in grossen Tabellen), dann |
143 | 141 |
ist Lesbarkeit vorzuziehen. |
... | ... | |
147 | 145 |
12. Trailing Whitespace, d.h. Leerzeichen am Ende von Zeilen sind unerw?nscht. |
148 | 146 |
Sie f?hren zu unn?tigen Whitespace?nderungen die diffs verf?lschen. |
149 | 147 |
|
150 |
Emacs und vim haben beide recht einfach Methoden daf?r: |
|
148 |
Emacs und vim haben beide recht einfache Methoden daf?r:
|
|
151 | 149 |
emacs kennt das Kommande nuke-trailing-whitespace, |
152 |
vim macht das gleiche manuell ?ber :%s/\s\+$//e |
|
150 |
vim macht das gleiche manuell ?ber :%s/\s\+$//e, mit |
|
151 |
:au BufWritePre * :%s/\s\+$//e |
|
152 |
wird das an speichern gebunden. |
|
153 | 153 |
|
154 | 154 |
12. Es wird kein perltidy verwendet. |
155 | 155 |
|
156 | 156 |
In der Vergangenheit wurde versucht perltidy zu verwenden um einen |
157 | 157 |
einheitlichen Stil zu erlangen, es hat sich aber gezeigt, dass Perltidys |
158 | 158 |
sehr eigenwilliges Verhaltes was Zeilenumbr?che angeht oftmals gut |
159 |
formatierten Code zerst?rt. F?r den Interessierten, hier sind die perltidy |
|
160 |
Optionen die grob den beschriebenen Richtlinien entsprechen. |
|
161 |
|
|
162 |
-syn |
|
163 |
-i=2 |
|
164 |
-nt |
|
165 |
-pt=2 |
|
166 |
-sbt=2 |
|
167 |
-ci=2 |
|
168 |
-ibc |
|
169 |
-hsc |
|
170 |
-noll |
|
171 |
-nsts |
|
172 |
-nsfs |
|
173 |
-asc |
|
174 |
-dsm |
|
175 |
-aws |
|
176 |
-bbc |
|
177 |
-bbs |
|
178 |
-bbb |
|
179 |
-mbl=1 |
|
180 |
-nsob |
|
181 |
-ce |
|
182 |
-nbl |
|
183 |
-nsbl |
|
184 |
-cti=0 |
|
185 |
-bbt=0 |
|
186 |
-bar |
|
187 |
-l=79 |
|
188 |
-lp |
|
189 |
-vt=1 |
|
190 |
-vtc=1 |
|
159 |
formatierten Code zerst?rt. F?r den Interessierten sind hier die perltidy |
|
160 |
Optionen, die grob den beschriebenen Richtlinien entsprechen. |
|
161 |
|
|
162 |
-syn -i=2 -nt -pt=2 -sbt=2 -ci=2 -ibc -hsc -noll -nsts -nsfs -asc -dsm |
|
163 |
-aws -bbc -bbs -bbb -mbl=1 -nsob -ce -nbl -nsbl -cti=0 -bbt=0 -bar -l=79 |
|
164 |
-lp -vt=1 -vtc=1 |
|
165 |
|
|
166 |
13. STDERR ist tabu. Unkonditionale Debugmeldungen auch. |
|
167 |
|
|
168 |
Lx-Office bietet mit dem LXDebug Modul einen brauchbaren Trace/Debug |
|
169 |
Mechanismus, es gibt also keinen Grund nach STDERR zu schreiben. |
|
170 |
|
|
171 |
Die LXDebug Methode "message" nimmt als ersten Paramter au?erdem eine |
|
172 |
Flagmaske, f?r die die Meldung angezeigt wird, wobei "0" immer angezeigt |
|
173 |
wird. Sollte Meldungen sollten nicht eingecheckt werden, und werden in den |
|
174 |
meisten F?llen auch vom Repository zur?ckgewiesen. |
Auch abrufbar als: Unified diff
Update Programmierrichtlinien