Mercurial > pylearn
comparison doc/v2_planning/coding_style.txt @ 1123:1a1c0c3adcca
coding_style: Added suggestion made by email by Francois about type checking
author | Olivier Delalleau <delallea@iro> |
---|---|
date | Wed, 15 Sep 2010 09:42:11 -0400 |
parents | 60ef81fe1825 |
children | 03b41a79bd60 |
comparison
equal
deleted
inserted
replaced
1122:be53f56b37b8 | 1123:1a1c0c3adcca |
---|---|
348 | 348 |
349 * How to write good commit messages? | 349 * How to write good commit messages? |
350 OD: Check Django's guidelines (link above) | 350 OD: Check Django's guidelines (link above) |
351 * Standardize the merge commit text (what is the message from fetch?) | 351 * Standardize the merge commit text (what is the message from fetch?) |
352 | 352 |
353 | 353 Type checking |
354 ------------- | |
355 | |
356 (Suggested by Francois Savard) | |
357 | |
358 vu que vous êtes en train de vous occuper de l'aspect coding style, je | |
359 mentionne ceci, à faire ce que vous en voulez: j'aime bien éviter des | |
360 erreurs sur l'ordre de mes paramètres, sur les assumptions sur les | |
361 paramètres etc. en faisant des argument check. Ça remplace un peu le | |
362 static type checking des langages genre Java. | |
363 | |
364 En Python y'a une façon élégante de définir ses propres typecheckers, | |
365 value checkers etc. et ensuite les passer en paramètre à un décorateur de | |
366 fonction: | |
367 | |
368 http://code.activestate.com/recipes/454322-type-checking-decorator/ | |
369 | |
370 (Juste un exemple, vu que les checks peuvent être plus élaborés, inclure | |
371 des value checks (>0 etc.), être flexibles pour ne pas demander que ce | |
372 soit un type fixe mais plutôt que ça réponde à certaines contraintes (que | |
373 ça "ressemble" à un float, p. ex.). J'avais développé une lib pour faire | |
374 qqch du genre en Javascript). | |
375 | |
376 Je ne sais pas si vous comptiez parler de ça, et si ça vaut la peine, mais | |
377 personnellement je préfère du code à des commentaires qui peuvent être out | |
378 of sync avec le contenu d'une méthode. Si vous croyez que ça vaut la peine, | |
379 vous pourriez p-e définir des type/value-checkers standards pour éviter que | |
380 tout le monde redéfinissent les siens à sa façon. | |
381 |