IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Pratiques de codage, gestion d'erreurs, etc..


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut Pratiques de codage, gestion d'erreurs, etc..
    Bonjour,

    En Java, on a l'habitude de commencer le nom des classes par une majuscule et ceux des variables par une minuscule. Dans un nom de classe ou de variable, chaque "nouveau mot" commence par une majuscule (exemple : nomClient). Pourtant, en Ruby, la convention serait plutôt de mettre un _ pour remplacer les espace (nom_client).
    Ces pratiques ne sont pas obligatoires mais en général, on respecte celles du langages qu'on utilise.

    Voulant développer en Windev, j'aimerai connaître les bonnes pratiques du wLangage. Ces pratiques ne modifient aucunement le bon fonctionnement de l'application, elles servent seulement à ce que l'application soit homogène (si un développeur met "nomClient" et qu'un autre met "nom_client", ça la fout mal ^^").

    Donc, quelqu'un connaîtrait-il un site ou quoi que ce soit qui liste les pratiques usuelles ?

    Je vous remercie pour vos réponses

    PS: On peut pas mettre 3 points de suspensions dans les titres des discussions

  2. #2
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Bonjour,

    c'est assez simple et comme tout ce qui est simple c'est très complexe....
    En WD tu peux gérer ta propre convention de nommage.
    Tu peux créer et paramétrer de façon très poussée (trop?) une charte de programmation. Je te laisse visiter l'aide pour cela.
    Ou tu peux travailler sans charte.
    Ou encore tu peux adopter la charte standard de Windev.

    En pratique la charte standard est un peu ch*** mais a le mérite d'exister et te permet de travailler avec d'autres dev WD.

    Venant comme toi de Java, j'ai plutôt tendance à travailler sans charte pour de petits trucs perso mais en équipe la charte devient vite obligatoire.
    Le Must serait de passer quelques heures à faire une charte qui colle avec mes habitudes mais quid des habitudes de mes collègues?

    En pratique fais un test : dans ton projet > menu projet>description>option> cocher "Activer le préfixage...." puis créer ou modifier une charte.

    Bon dev

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Bonjour Atsibat,

    Merci pour ta réponse rapide. Pour info, je ne viens pas de Java mais de Ruby

    Mon problème est que je dois en fait intégrer un projet développé en Windev, le projet est déjà bien avancé (l'appli tourne). Pour me familiariser avec le code, je dois remplir une fiche de relecture de code qui me demande si le code respecte les règles de programmation, les règles de gestion des erreurs et des messages et les règles d'écritures de tests unitaires.
    En demandant les documents décrivant toutes ces règles, on m'a dit qu'il n'y en avait pas et que je devais me basé sur "les règles usuelles de Windev" (personne ne les connaît par ici...)

    J'ai vu tout ce que tu m'as dit mais si je dois comparer avec les règles standard que j'ai vu (g devant les variables globales, b devant les booléens, etc...), aucun fichier ne le respecte, on a plutôt l'habitude de mettre "est..." pour les booléens (exemple estVide") et des trucs comme ça issu de Java et autres langages connus (isClosed, etc...).

    Donc, si je comprends tout ce que tu me dis, mes peurs se confirment, la chartes standard de windev est très.....rigoureuse ^^"
    Je vais voir comment je vais géré ça, merci pour ton aide

  4. #4
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    EN fait oui c'est rigoureux mais comme il suffit de décocher une option pour ignorer la charte et que le dev n'est pas rigoureux par définition...
    Il y a même un mode "strict" mais je n'ai jamais réussi à le laisser coché sans céder à la tentation de passer outre...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Oui je sais bien ^^

    Merci pour tes réponses.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Je reviens sur cette discussion car, après réflexion, seules certaines de mes questions ont trouvées réponses (ce qui concerne le nom des variables).

    J'aimerais savoir à présent s'il existe des conventions ou même des règles (importantes à respecter) en ce qui concerne le reste tel que la façon de gérer les erreurs ou les messages, des cas précis pour utiliser tel ou tel type de variables, etc.... (si vous avez des idées, n'hésitez pas ^^).

    Pour exemples :
    • dans le langage Java (si je ne me trompe pas), il vaut mieux éviter d'utiliser try catch au maximum et faire des if pour vérifier que tout va bien avant de faire une "action dangereuse" (qui pourrait lever une exception).
    • utiliser des StringBuffer pour faire des concaténations


    Existe-t-il un site permettant de lister toutes les règles et conventions standards de WinDev ?

    Par ailleurs, existe-t-il un outils comme le checkstyle d'Eclipse pour vérifier les noms, la profondeur des blocks (trop de if imbriqués, c'est pas lisibles ^^) etc... pour WinDev ?
    Si j'ai bien compris, dans "Description du projet" > "Avancé", on ne peut que "Activer le préfixage automatique des variables et des éléments du projets", ça veut dire que ça ajoute les préfixes aux variables mais ça ne vérifie pas si c'est fait. Les variables déjà créées ne sont pas affectées je crois.
    Je sais pas si je suis clair

    Merci pour votre aide.

    (Désolé pour le double post )

  7. #7
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 297
    Points : 9 391
    Points
    9 391
    Par défaut
    Pour le préfixage, c'est lorsque tu déclares une variable que celle-ci est préfixée automatiquement. Tu peux le faire toi-même également. Le préfixe sera affiché "en plus clair". Ex gsUneChaine est un chaine. (Global string).

    A l'inverse tu peux supprimer le préfixe manuellement dans la déclaration. Tu devras renommer toutes noms où elle apparaît. Un clic sur icône en haut à droite de la fenêtre te permet de le faire automatiquement.

    Pour le try catch (= quand erreur exception), je dirais la même chose que pour java. Car si tu as une exception, tu va rentrer dans un mode dégradé (une partie du code n'aura pas été exécutée)...

    Pour les règles de bienséance dans le code... et bien, je n'en connais pas, à part, simplement, des commentaires bien choisis...

    Si un code a la tronche qu'il a, c'est qu'il y a une raison. Ensuite, c'est peut-être pas esthétique mais si c'est fonctionnel et bien expliqué...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Bonjour frenchsting, merci pour ta réponse,

    Citation Envoyé par frenchsting Voir le message
    Si un code a la tronche qu'il a, c'est qu'il y a une raison. Ensuite, c'est peut-être pas esthétique mais si c'est fonctionnel et bien expliqué...
    Eh bien, en Java par exemple, faire une boucle où on concatène des String en utilisant le +, ça marche, mais en utilisant des StringBuffer, ça va 1000 fois plus vite, donc vaux mieux utiliser des StringBuffer (je crois que Checkstyle de Eclipse peut vérifier ce genre de chose).
    Donc s'il y a des subtilités comme ça en WinDev, ce serait bien de le savoir ^^"

    Et pour ma question au niveau d'un équivalent de checkstyle pour WinDev, y a quelque chose ? C'est pour les chefs ça, ils veulent que le code respecte des règles. J'ai lu qu'il y avait un audit de code (statique et dynamique), quelqu'un peut en dire plus sur ce niveau là, comment savoir quelles règles sont vérifié, comment enlever ou rajouter des règles, etc....

    Je ne l'ai pas encore testé (je ne sais même pas encore comment on le lance, je viens de tomber dessus ^^).

    Je vous remercie pour votre aide

  9. #9
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 297
    Points : 9 391
    Points
    9 391
    Par défaut
    L'"avantage" de java par rapport à windev, c'est que tu peux l'ouvrir avec un éditeur de texte. Pour le code windev, il faut windev.

    Après, je ne connais pas d'outil pour faire ce que tu recherches...

  10. #10
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Bon je ne comprends pas vraiment ce que tu cherche, si ton but est d'imposer ders règles à une équipe de dev la solution miracle n'existe pas. Ni en java ni en windev, tu dois écrire ces règles (au besoin tu les consigne dans les règles métier sous WD) et ensuite à toi de les faire respecter par tes dev et de relire/corriger / faire corriger le code qui ne respecte pas tes règles.

    Pour les imbrications de if on ne peut pas décréter que trois niveau est le niveau maximum, tout dépend de ce que tu dois coder.
    Tu pourrais aussi décréter que les fonctions ne doivent pas avoir plus d'un paramètre, c'est une assez bonne pratique de codage mais elle doit être ignorée dans certains cas.

    Pour les "Bonnes pratiques" elles sont communes à tous les langages, il y a un tas de bouquins là dessus. je conseillerai à tous dev expérimenté de lire "Coder proprement" de Robert C. Martin, j'ai lu ce livre et si à la première lecture je n'y ai pas trouvé grand intérêt j'ai changé d'avis au fur et à mesure que je réfléchissais et comprenais ce dont il parlait. (notamment les commentaires qui sont très souvent inutiles voir préjudiciables et qui témoignent la plupart du temps d'un mauvais code).

    Pour les types de variable buffer ou chaine tout dépends du traitement que tu as à faire. La différence de vitesse tient au type intrinsèque (le buffer est une zone mémoire binaire donc plus rapide dans la plupart des cas mais incompatible avec certains traitements). Donc encore une fois pas de différence entre les langages.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Bonjour à vous deux, merci pour vos réponses.

    Citation Envoyé par Atsibat Voir le message
    je ne comprends pas vraiment ce que tu cherche
    En fait, je cherche un outils du même genre que "checkstyle" en Java, c'est à dire qu'il vérifie des règles (qu'on a défini quelque part forcément) automatiquement. Par exemple, si on décide qu'il ne faut pas plus de 100 caractères par ligne en WinDev, sous Eclipse, avec Checkstyle, les lignes de plus de 100 caractères sont soulignées et un warning apparaît. Pour les imbrications de block, c'est pareil, si on décide que 3 est le maximum, à la 4e imbrication, un warning.
    Checkstyle permet même de vérifier la complexité cyclomatique des méthodes, pour dire à quel point l'outil est puissant ^^"

    Mon but n'est pas de faire de la pub pour Checkstyle, c'est juste pour essayer de vous donner une idée de ce que je veux.

    Tu parles des règles métiers sous WD, est-ce WD les vérifie en cours de code? Est-ce qu'on peut renseigner ce que l'on veut comme règles? (comme les imbrications de block et la complexité cyclomatique).

    Je vous remercie pour votre temps

Discussions similaires

  1. Aide codage gestion d'erreur Qr Code reed solomon
    Par bglacial dans le forum Général Java
    Réponses: 0
    Dernier message: 04/01/2012, 15h06
  2. Réponses: 5
    Dernier message: 08/04/2011, 10h55
  3. [Procédures stockées] Bonnes pratiques de gestion des erreurs
    Par jbrasselet dans le forum Développement
    Réponses: 4
    Dernier message: 04/02/2009, 00h14
  4. Bonne pratique gestion application (dictionnaire etc.)
    Par usbeck dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 22/01/2009, 13h30
  5. gestion d'erreur et de transactions....
    Par Dge dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/02/2006, 22h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo