|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
![]() ![]() ![]() Hinault RomaricConsultant Inscription : janvier 2007 Messages : 2 833 ![]() |
Quelle est la règle de codage la plus étrange que vous avez été forcé de suivre ?
Faîtes-nous part de vos anecdotes Dans toute équipe de développement, des règles et des standards de conception sont adoptés tout le long du cycle de développement du produit. En dehors des bonnes pratiques et des patrons de conceptions ou tout autre standard permettant de coder proprement, certaines équipes disposent d’autres règles de codage qui doivent être obligatoirement appliquées par les développeurs. Si l’on trouve certaines règles assez utiles pour avoir un produit de qualité, d’autres par contre sont étranges, drôles ou pire, n’ont pratiquement aucun sens. Dans un post sur le sujet sur le forum US stackoverflow, voici quelques règles drôles qui y sont recensées : l'interdiction d’utiliser des retours multiples ; l’obligation de faire précéder les noms des tables de la base de données des caractères « tbl », l’imposition d’un nombre d’espaces pour l’indentation ou encore l’utilisation de l’inversion de l’indentation. Par exemple : Code :
Code :
Et vous ? Quelles règles de codage étranges avez-vous dû suivre ?
__________________
Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire ![]() Mon blog Mes articles En posant correctement votre problème, on trouve la moitié de la solution |
||||
|
56
|
|
|
#2 | |
|
Membre Expert
![]() ![]() Cyril Ingénieur développement logiciels Inscription : avril 2007 Messages : 533 ![]() |
Citation:
Surtout que selon le vécu du développeur, l'indentation diffère fortement (je pense au style GNU, différent de celui du C, ou Java etc). |
|
|
|
270
|
|
|
#3 |
|
Membre Expert
![]() Alexis LechevalierIngénieur développement logiciels Inscription : février 2005 Messages : 1 047 ![]() |
- Les préfixages tb pour les tables, ps(i/u/d/s) pour les procs, tr(i/u/d) pour les triggers,... le tout sur des bdds comme SqlServer ou Oracle...
- Indenter le code seulement avec des espaces, surtout pas de tabulations... Chacun indentant au niveau où ça lui plait (2/3/4 espaces selon les cas...)- Convention de nommage donnant des nom de variables longs comme des jours sans internet avec rien à faire... - Découper à outrance les classes dans de multiples dll (presque 1dll = 1 classe) Heu... Je pense avoir fait le tour...
__________________
Vu sur un paquet de cigarettes: "Fumer peut entrainer une mort lente et douloureuse" Vivre aussi... Ce n'est pas forcément moins douloureux et c'est même beaucoup plus lent... ![]() "Les fumeurs meurent prématurément" Puisqu'on dit que ce sont toujours les meilleurs qui s'en vont en premier...
|
|
|
11
|
|
|
#4 | |
|
Membre Expert
![]() Alexis LechevalierIngénieur développement logiciels Inscription : février 2005 Messages : 1 047 ![]() |
Citation:
Ce ne serait pas mieux?
__________________
Vu sur un paquet de cigarettes: "Fumer peut entrainer une mort lente et douloureuse" Vivre aussi... Ce n'est pas forcément moins douloureux et c'est même beaucoup plus lent... ![]() "Les fumeurs meurent prématurément" Puisqu'on dit que ce sont toujours les meilleurs qui s'en vont en premier...
|
|
|
|
85
|
|
|
#5 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 114 ![]() |
L'obligation de développer sans bug ... non je plaisante !
|
|
|
71
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Développeur C Inscription : août 2004 Messages : 2 078 ![]() |
Heureusement que des langages comme python évite ce genre de dérive.
Je suis habitué au K&R et que je vois du Whitesmiths, j'ai un peu de mal. ![]() Article wikipédia sur les indentations du code. |
|
|
13
|
|
|
#7 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 4 ![]() |
Citation:
|
|
|
|
41
|
|
|
#8 |
|
Expert Confirmé
![]() Développeur informatique Inscription : décembre 2008 Messages : 777 ![]() |
D'un autre côté, les espaces... bon, si vraiment ça gêne un dev, il utilise un outil pour les mettre à sa sauce, puis un outil pour les mettre à la sauce de l'équipe, et basta...
(D'ailleurs, je me demande si cette procédure n'est pas automatisable avec git, faudra que je cherche, un jour) Dans mon cas, je dirais, développer en français. Ce n'est pas bizarre en soit, mais je suis tellement rôdé à taper des noms anglais que je dois réfléchir 2 minutes avant de trouver un nom français assez court et représentatif. Pire que le scrabble... Sinon, l'inversion de tab, c'est... moche PS: pour ceux qui aiment python pour son indentation forcée: personnellement, c'est justement le genre de trucs que je n'apprécierais pas. Il arrive que mettre 2 instructions sur la même ligne soit pertinent au regard de la lisibilité et rende le tout plus simple à lire. Bon, après, question de style, bien sûr, et puis, ça a l'avantage d'imposer aux débutants de bonnes habitudes. |
|
|
61
|
|
|
#9 | |||||||||
![]() ![]() |
Citation:
Code C :
Code C :
Dans la deuxième version, avec retours multiples, type1_delete est appelée à deux endroits différents. Il y a donc une mauvaise factorisation du code. Et plus on a des allocations, plus les répétitions seront nombreuses. Et ce nombre augmente aussi avec le nombre de points de retour dans la fonction. Car il faut faire le nettoyage avant chaque return. En général. En clair, il vaut mieux bannir les retours multiples. L'exception est peut-être lorsqu'on implémente un algo déjà bien connu. Dans les autres cas, je recommande l'utilisation d'un seul retour. Citation:
Citation:
Sinon, pour les règles de codage bizarres que l'on a m'a déjà imposées, l'else if de la sorte : Code C :
|
|||||||||
|
|
62
|
|
|
#10 | |
|
Invité de passage
![]() Inscription : août 2007 Messages : 2 ![]() |
Citation:
Idem pour le nombre d'espaces, si vous versionnez vos code sous SVN ou Git, c'est l'enfer si chacun utilise un nombre d'espaces différents |
|
|
|
44
|
|
|
#11 | ||||
|
Expert Confirmé
![]() Sylvain Ingénieur développement logiciels Inscription : octobre 2007 Messages : 1 249 ![]() |
Citation:
Code :
Beaucoup d'IDE remplacent par défaut les tabulations par des espaces. Citation:
Bref, pourquoi faire simple quand on peut se casser le cul ?
__________________
"tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!" |
||||
|
|
40
|
|
|
#12 | |
|
Membre Expert
![]() ![]() Cyril Ingénieur développement logiciels Inscription : avril 2007 Messages : 533 ![]() |
Citation:
"TAB" est bien trop volatile et a évolué différemment selon l'histoire. Est-ce qu'un TAB c'est une colonne multiple de 8 ? (UNIX) Est-ce qu'un TAB c'est une colonne multiple de 4 ? (Win, Mac) Est-ce qu'un TAB c'est une colonne multiple de 2 ? (Ceux qui pensent que 4 créent trop d'espace vide C'est pourquoi on a imposé une configuration de l'IDE pour chaque nouveau développeur qui rejoint notre projet : - Expand Tabs to Spaces - Number of Spaces by Indent : 2 Et comme l'a mentionné saccoche (edit : et les autres), c'est pour que les merges ne deviennent pas un truc ingérable et que le code soit interopérable qu'importe le système/IDE utilis |
|
|
|
74
|
|
|
#13 |
|
Membre régulier
![]() |
Actuellement en fac d'info et ma prof de C interdit l'utilisation du else if car elle ne trouve pas ça clair...
|
|
52
|
|
|
#14 | ||||||||
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 678 ![]() |
Pour tomber dans la dérive inverse
Citation:
Citation:
Citation:
Citation:
Code :
Le problème c'est que comme chacun fait sa sauce, au final on fini par aller au plus simple, c'est espaces partout |
||||||||
|
|
92
|
|
|
#15 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 846 ![]() |
Composer des requêtes dans le code alors qu'elles n'ont rien de dynamiques.
Composer des requêtes dans le code alors qu'elles supportent aisément des fonctions natives. Ceux qui pratique MS ACCESS comprendront...
__________________
Cloud storage et ACCESS Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Cours 2010 Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
20
|
|
|
#16 | |
|
Membre Expert
![]() Nicolas Ingénieur d'Etude Mainframe Inscription : novembre 2012 Messages : 231 ![]() |
Citation:
|
|
|
|
30
|
|
|
#17 |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 555 ![]() |
La régle la plus étrange ?
Pour ma part, et sans hésiter, il y a de cela sept ou huit ans, un projet chez un client où le DBA ne voulait pas de procédure stockées ....
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|
|
00
|
|
|
#18 | ||||
![]() ![]() |
Citation:
Citation:
- te_ pour les tables issues des entités types du MCD ; - tj_ pour les tables de jointure, donc les tables issues des associations du MCD ; - th_ pour les tables issues d'un héritage ; - tr_ pour les tables de référence (pays, type, famille, civilité...). Citation:
La variabilité de la taille des tabulations d'un système à l'autre est un faux problème. Chez moi, la tabulation vaut 4 caractères. Dans les balises CODE sur DVP, elles valent 8 caractères. L'alignement est respecté dans les deux cas. Ce qu'il faut à tout prix éviter, c'est des indentations de taille variable à l'aide d'espaces dans le même programme. On finit par ne plus savoir à quel bloc appartient telle ligne et c'est l'horreur à déboguer. Et je ne parle pas de ceux qui codent au kilomètre sans indentation du tout ! ![]() Citation:
Il paraît qu'il existe un standard de nommage dans les BDD de l'État (ou de mon ministère, je ne sais pas exactement) et je le trouve imbuvable, au vu d'une des BDD codées de la sorte dont j'ai à m'occuper de temps en temps ! Comme les BDD que je crée sont uniquement à usage interne et que je suis le seul DBA, j'applique mon standard.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
||||
|
31
|
|
|
#19 |
|
Membre expérimenté
![]() Inscription : novembre 2012 Messages : 449 ![]() |
Les retours multiples, c'est comme son nom l'indique lorsqu'une fonction a plusieurs instructions return à l'intérieur de structures conditionnelles.
Sinon la règle de codage la plus étrange que j'ai eu fût de ne pas dépasser 80 caractères à chaque ligne (espaces d'indentation compris !). Parfois on été obligés de passer un argument de fonction par ligne, même s'il n'y en avait qu'un seul |
|
|
30
|
|
|
#20 |
|
Membre habitué
![]() Développeur C/C++/ASM, Windows & Linux Inscription : septembre 2009 Messages : 43 ![]() |
l’imposition d’un nombre d’espaces pour l’indentation c'est pas si débile que ça, parce que mettre un caractère TAB ça peut potentiellement foutre un bordel monstre quand on trimbale les sources d'un éditeur à l'autre (cas des applis multi-plateforme)
__________________
"C/C++, what else ?" Mon devblog : http://bidouillefrenetique.blogspot.fr/ (petit) forum sur mon projet de space sim :http://spacesimcentral.com/ssc/forum/75-xfrontier/ |
|
|
31
|
Copyright © 2000-2013 - www.developpez.com