|
Publicité ' | ||||||||||||||||||||||||
|
|
#81 | |||
|
Expert Confirmé
![]() Benoît Inscription : février 2003 Messages : 1 658 ![]() |
Citation:
et non ou
__________________
Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes |
|||
|
|
11
|
|
|
#82 |
|
Membre émérite
![]() |
Tu as raison : j'ai oublié de préciser qu'il est possible (si je ne me trompe pas) d'activer une option qui affiche un warning pour les assignations lors des "if".
__________________
Il ne faut pas oublier que la politesse et le respect sont mutuels. Mon framework Web haute performance : |
|
00
|
|
|
#83 | |
|
Membre éclairé
![]() Ingénieur développement logiciels Inscription : août 2006 Messages : 195 ![]() |
Citation:
|
|
|
|
20
|
|
|
#84 | ||||||
|
Membre éprouvé
![]() Développeur informatique Inscription : octobre 2005 Messages : 203 ![]() |
Citation:
Citation:
Pour moi le code de ton prof est valide, et le tien non. Merci de confirmer ou contester ça. [edit] Code de test : Code :
Fichier valide ouvert -12 Echec de l'ouverture d'un fichier invalide Fichier valide ouvert -12 Fichier invalide ouvert -12 |
||||||
|
|
40
|
|
|
#85 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 073 ![]() |
Citation:
Imaginons par exemple que nous ayons créé une base correspondant à des recettes de cuisine, avec les champs "ingrédients", "durée" et "opérations". On décide ensuite de créer un planning d'entrainement sportif, du coup, dans ce cas, "ingrédients" correspond à "type d'exercice", "durée" à "lieu" et "opérations" à "équipement". Seulement, comme il manque un champ pour "durée de l'exercice", alors on va utiliser le champ "ingrédients" en séparant la valeur "type d'exercice" et "durée de l'exercice" par un délimiteur arbitraire... ![]() Tout cela est parfaitement résumé dans cet article...
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
70
|
|
|
#86 | |||
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 676 ![]() |
Citation:
- le code que tu accuses d'être faux est tout à fait correct : fopen ne retourne NULL(soit 0) qu'en cas d'erreur. Si tu ne me crois pas, il suffit de consulter le man - la solution que tu proposes est incorrecte. Ton code ne gèrera pas les erreurs. |
|||
|
|
00
|
|
|
#87 |
|
Membre éprouvé
![]() Inscription : avril 2002 Messages : 405 ![]() |
> en Java, mettre des getters/setters sur des DTO, et interdire la moindre "intelligence" dans ces getters/setters.
Où est l'intérêt de ce genre de chose, alors qu'il suffit de laisser les attributs public? |
|
|
20
|
|
|
#88 | |
|
Expert Confirmé
![]() Sylvain Ingénieur développement logiciels Inscription : octobre 2007 Messages : 1 243 ![]() |
Citation:
Après, pour ce qui est de préciser à chaque fois "true" ou "false" quand on compare un booléen, chacun est juge, tant qu'il respecte la règle fixée sur le projet bien évidemment. Sinon, pour rester sur les booléens, voici une règle qui m'a semblé intéressante sur un précédent projet : Les booléens doivent toujours être écrits pour que la valeur "true" reflète un résultat positif. Par exemple, un booléen peut s'appeler "isConnected" mais pas "isNotConnected". Et c'est vrai qu'on tombe souvent sur des booléen négatifs dans les projets. Après, je ne pense pas que ce soit vital comme règle, mais ça peut faciliter la lecture du code je pense.
__________________
"tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!" |
|
|
|
60
|
|
|
#89 | |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 544 ![]() |
Citation:
__________________
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 |
|
|
|
70
|
|
|
#90 | |
![]() ![]() Ingénieur développement logiciels Inscription : mai 2009 Messages : 957 ![]() |
Citation:
|
|
|
|
50
|
|
|
#91 | |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 544 ![]() |
Citation:
D'être Yoda, point besoin il n'est.
__________________
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 |
|
|
|
70
|
|
|
#92 | |||||||||
![]() ![]() |
Citation:
Citation:
Citation:
Citation:
Merci pour le lien wikipedia Citation:
Citation:
Citation:
Sinon, en Java, qu'est-ce vous pensez de l'utilisation d'un label avec un break pour sortir d'une boucle ? Code java :
Quand j'utilise celle-ci, certaines personnes parviennent à comprendre son intérêt quand je leur explique et d'autres s'en offusquent (bêtement)... CheckStyle, PMD, et les autres ne s'en offusquent pas eux ^^
__________________
Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com Pensez à cliquer sur le bouton une fois votre problème solutionné, merci.
|
|||||||||
|
|
00
|
|
|
#93 |
![]() ![]() |
Oui, ça paraît moyen au premier abord mais la raison est que cela permet de la généricité dans les traitements de ce genre d'objets, notamment par réflexion ou même AOP. Le tout est de ne pas saisir à la main les getters/setters... Ca reste lourd, on est d'accord, faudra faire quelque chose un jour pour rendre cela plus efficace.
__________________
Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com Pensez à cliquer sur le bouton une fois votre problème solutionné, merci.
|
|
|
00
|
|
|
#94 | |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 544 ![]() |
Citation:
C'est une mode apparue au début des années 80, liée historiquement aux contraintes de l'éditeur des systèmes Unix de l'époque, qui a eu le bon gout de disparaitre au début des 90' et que j'ai vu avec stupeur réapparaitre principalement chez les codeurs Javascript à la fin des 90' alors que la majorité des dev. C++ et Java ( et C# après) utilisaient le Allman (que pour ma part j'impose sur tous les développement - le refactoring d'aspect de VS permettant de ramener le code des égarés à la raison ).
__________________
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
|
|
|
#95 | |
|
Membre habitué
![]() Développeur C/C++/ASM, Windows & Linux Inscription : septembre 2009 Messages : 43 ![]() |
Citation:
__________________
"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/ |
|
|
|
00
|
|
|
#96 | ||||
|
Expert Confirmé
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 800 ![]() |
Les choix du type de parenthésage sont aussi trollifère que les choix d'indentation (voire plus), mais personnellement je préfère le parenthésage à la "Java" (proche du K&R apparement).
Le parenthésage type Allman je trouve que c'est de la perte de place et du coup de lisibilité (on n'embrace pas tout le code d'un seul coup d'oeil) : Code :
Code :
|
||||
|
|
02
|
|
|
#97 | |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 544 ![]() |
Citation:
Si le fait de embracer (c'est de l'anglais, mais il semble que le verbe existait en vieux français) le code d'un seul coup d'oeil (ou si on était payé à l'économie de lignes) était un argument recevable, les déclarations de variables devraient avoir cette forme : Code :
int aVariable; string anotherVariable; double etcVariable;
__________________
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 |
|
|
|
40
|
|
|
#98 | |
|
Membre éprouvé
![]() Inscription : avril 2002 Messages : 405 ![]() |
Citation:
A+ |
|
|
|
02
|
|
|
#99 | |
![]() ![]() |
Citation:
En fait, pour ce qui est de permettre d'avoir une vision globale et rapide de l'action d'une méthode ou fonction, tout dépend de ce qu'elle contient et de la manière dont c'est formalisé. Le code condensé avait bien plus de légitimité lorsque les écrans avaient encore des dimensions très restreintes. Quoi qu'il en soit et en ce qui me concerne, je pense qu'effectivement ce genre de débat est plutôt vain, tout simplement parce que tout le monde n'a pas la même façon de percevoir et analyser un code. Donc, toujours selon moi, mettre une accolade en fin de ligne à côté plutôt absurde mais avec le temps je m'en suis accommodé. Pour pallier cela, j'ajoute systématiquement une ligne vide après l'accolade ouvrante. C'est donc un format hybride que je pratique et le fait que l'accolade soit à la fin des lignes ne m'embête pas, signe que ce n'est pas tant l'accolade le problème mais bien les textes trop condensés. Ensuite, je suis tout à fait d'accord avec le fait que si une méthode est trop longue, cela pose des problèmes pour analyser rapidement l'algorithme de celle-ci. C'est pourquoi, au lieu d'incriminer les accolades ouvrantes en début de ligne ou les lignes vides, il faut attacher davantage d'importance à la formalisation de celle-ci. Cela veut dire, faire en sorte que tout ce qui est un tant soit peu compliqué à lire ou tout ce qui prend beaucoup de lignes (ex : remplissage d'un bean avec plein d'attributs par exemple), soit relégué dans des méthodes explicites de par leur nom. Voilà, donc normalement en définissant des règles qui imposent un nombre de lignes relativement restreint par méthode/fonction, on peut se permettre d'avoir un code aéré, qui selon moi demeure beaucoup plus lisible. Bref, on n'arrivera jamais à satisfaire tout le monde, donc on aura sans doute fait un progrès, lorsque les éditeurs de code permettront de présenter efficacement le code selon les goûts du développeur, sans impact sur les fichiers physiques et qu'il soit ensuite très facile de basculer d'un type de présentation à un autre. Un autre progrès me semblerait intéressant, ce serait de guider en permanence la saisie du code, de manière à ce que le développeur n'ait pas à s'en préoccuper (ça se fait dans certains éditeurs depuis un bail me semble-t-il). Egalement, ces éditeurs pourraient se rapprocher de ce qu'est un éditeur de texte tel que Word/OO, c'est-à-dire en permettant de la mise en forme plus poussée. Par exemple, en ayant des marges verticales à intervalle adaptatif selon le contexte, comme faire une séparation plus prononcée entre la signature d'une méthode et le contenu de celle-ci (personnellement, je ne mettrais plus de ligne vide). Tout ceci a un coût c'est sûr mais je verrais cela comme une bonne chose pour couper court à ce genre de débat, source de frustrations et pertes de temps
__________________
Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com Pensez à cliquer sur le bouton une fois votre problème solutionné, merci.
|
|
|
|
60
|
|
|
#100 | |||
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 676 ![]() |
Pour ce qui est du troll éternel Allman vs K&R, je dirait qu'il n'a vraiment pas lieu d'être. Non seulement la différence n'est au final pas vraiment importante, mais en plus ils peuvent se mélanger sans que ça pose vraiment de problème de lisibilité tant que l'indentation reste propre.
Personnellement j’utilise le K&R, qui a l'avantage d'être plus concis, sauf dans des cas particuliers ou le Allman apporte vraiment un plus de lisibilité comme Code :
Citation:
Ils sont là car ils servent d'interface aux javabean. Un bean se doit d'offrir une encapsulation forte. Grâce au getter/setter les beans ont un contrôle complet sur leur propriétés qu'il peuvent restreindre (read/write only), vérifier, générer à la voler, ... etc Certes c'est lourd de faire un getter/setter quand on ne fait qu'une opération d'écriture/lecture de variable (Sun/Oracle devrait vraiment se pencher sur une syntaxe spéciale pour les propriétés). Mais ça permet de pouvoir faire évoluer l'opération dans le futur pour par exemple ajouter un contrôle sur un setter, ce qui n'est pas possible avec un accès direct à un champ. |
|||
|
|
10
|
Copyright © 2000-2013 - www.developpez.com