Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ec63079e

Von Sven Schöling vor etwa 15 Jahren hinzugefügt

  • ID ec63079e098bf55fa05c1593468c6795b747082d
  • Vorgänger a35a796b
  • Nachfolger 3da055b7

Update Programmierrichtlinien

Unterschiede anzeigen:

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