Précédent   Forum du club des développeurs et IT Pro > Général Développement > Langages de programmation
Langages de programmation Forum général sur les langages de programmation, sur la POO, opinions, choix, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 09/01/2013, 18h12   #1
fafabzh6
Responsable SAS et Business Intelligence

 
Inscription : septembre 2006
Messages : 2 520
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2 520
Points : 9 683
Points : 9 683
Par défaut Les règles d'or de la programmation

Bonjour,

Voici un nouvel article relatant quelques règles importantes pour réussir et mener à bien ses projets de programmation.
Celui-ci présente les bonnes pratiques à prendre afin de rendre son projet viable, modulable, portable et robuste.
De plus, quelques perspectives sur le travail collaboratif et les logiciels à utiliser pour mettre en place un environnement fiable sont également présentés.
Cet article ne vise aucun projet en particulier, ni de langage précis et se veut le plus généraliste possible.

Les règles d'or de la programmation.

Bonne lecture et n'hésitez pas à réagir et à donner votre opinion.

fafabzh6 est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 10/01/2013, 11h22   #2
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 564
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 564
Points : 11 840
Points : 11 840
2 petites remarques vite fait :
  • La notation hongroise est fortement déconseillée (elle vient d'ailleurs à l'origine d'une erreur de traduction), car lourde, redondante, non maintenable et surtout non évolutive.

  • La refactorisation est aussi à déconseiller dans la majorité des cas (voir Rewites considered harmful ? )
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 10/01/2013, 11h51   #3
el_slapper
Expert Confirmé Sénior
 
Inscription : décembre 2007
Messages : 2 541
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 2 541
Points : 6 144
Points : 6 144
Citation:
Envoyé par souviron34 Voir le message
La notation hongroise est fortement déconseillée (elle vient d'ailleurs à l'origine d'une erreur de traduction), car lourde, redondante, non maintenable et surtout non évolutive.
la notation hongroise de type, oui, à éviter absolument, c'est lourdingue et inutile. Par contre, une normalisation des noms de données en fonction des éléments fonctionnels peut être futée. Par exemple, dans une macro EXCEL, préfixer de la même manière toutes les lignes, et d'une autre toutes les colonnes, peut être très utile.

Citation:
Envoyé par souviron34 Voir le message
La refactorisation est aussi à déconseiller dans la majorité des cas (voir Rewites considered harmful ? )
Euh, ton article parle de réécriture complète. le refactoring, c'est beaucoup plus léger, et c'est souvent indispensable. Article classique de Joel Spolsky sur le sujet. Avec les règles suivantes :
  1. 1.No New Features, not even small ones, would be added.
  2. 2.At any time, with any check in, the code would still work perfectly.
  3. 3.All I would do is logical transformations -- the kinds of things that are almost mechanical and which you can convince yourself immediately will not change the behavior of the code.

Il s'agit de nettoyer proprement, mais sans essayer de réinventer la poudre. Je suis d'accord avec ton article : mettre à la poubelle et tout réécrire, c'est un exercice dantesque. Je l'ai fait une fois, sur un périmètre limité, C'est un boulot énorme(et qui n'a pu marcher que parceque j'avais les moyens de comparer totalement les 2 chaines, anciennes et nouvelles, de manière totalement automatique). A limiter à des cas particulier. Joel Spolsky est d'accord avec ton article, en plus. (il est même plus extrême encore).

Mais refactoriser un code pourri, ou alors un code à maintenir pour le faire évoluer, c'est une pratique saine si on se donne les moyens de tester la non-regression.
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
3)le temps de comprendre toutes les exigences, le projet est terminé
4)le temps de terminer le projet, les exigences ont changé
Et le serment de non-allégiance :
Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.
el_slapper est déconnecté   Envoyer un message privé Réponse avec citation 40
Vieux 10/01/2013, 13h22   #4
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 564
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 564
Points : 11 840
Points : 11 840
Citation:
Envoyé par el_slapper Voir le message
Par contre, une normalisation des noms de données en fonction des éléments fonctionnels peut être futée. Par exemple, dans une macro EXCEL, préfixer de la même manière toutes les lignes, et d'une autre toutes les colonnes, peut être très utile.
Je ne connais pas les maco excel ou autres, mais de manière générale, il est alors préférable de normaliser par fonctioanlité en précisant par VerbeSujet/Complément qu'autre chose..

DisplaysDataset

ChecksValidity

IsThresholdReached




Citation:
Envoyé par el_slapper Voir le message
Euh, ton article parle de réécriture complète. le refactoring, c'est beaucoup plus léger, et c'est souvent indispensable. Article classique de Joel Spolsky sur le sujet. Avec les règles suivantes :
  1. 1.No New Features, not even small ones, would be added.
  2. 2.At any time, with any check in, the code would still work perfectly.
  3. 3.All I would do is logical transformations -- the kinds of things that are almost mechanical and which you can convince yourself immediately will not change the behavior of the code.

Il s'agit de nettoyer proprement, mais sans essayer de réinventer la poudre. Je suis d'accord avec ton article : mettre à la poubelle et tout réécrire, c'est un exercice dantesque. Je l'ai fait une fois, sur un périmètre limité, C'est un boulot énorme(et qui n'a pu marcher que parceque j'avais les moyens de comparer totalement les 2 chaines, anciennes et nouvelles, de manière totalement automatique). A limiter à des cas particulier. Joel Spolsky est d'accord avec ton article, en plus. (il est même plus extrême encore).

Mais refactoriser un code pourri, ou alors un code à maintenir pour le faire évoluer, c'est une pratique saine si on se donne les moyens de tester la non-regression.
D'une part l'article parlait de "refactorisation" sans préciser.

D'autre part, au vu du niveau de l'article, qui s'adresse à des débutants, il est à mon avis peu souhaitable de prler de "re"-factorisation... surtout si le sens n'est pas le sens généralement admis de "refactorisation complète"... Dans le cas de l'article, il s'agit plutôt de modularité, fabrication et utilisation de biblothèques...
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/01/2013, 13h57   #5
DevNico
Membre Expert
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 750
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 37
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 750
Points : 1 000
Points : 1 000
Un point qui n'apparait pas dans cet article, et qui fait partie d'une des principales choses qu'on demande à un développeur dans le cadre d'un projet informatique, c'est le reporting sur son avancement.

Suivre le temps qu'il y a passé, et estimer le temps qu'il lui reste à faire pour clore son développement sont 2 choses primordiales pour le bon fonctionnement du projet.
C'est notamment sur la qualité de l'estimation du reste à faire qu'on identifie les bons développeurs.

Nicolas
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 16/01/2013, 22h51   #6
Graffito
Expert Confirmé Sénior
 
Avatar de Graffito
 
Inscription : janvier 2006
Messages : 5 389
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 5 389
Points : 6 033
Points : 6 033
Citation:
C'est notamment sur la qualité de l'estimation du reste à faire qu'on identifie les bons développeurs.
C'est surtout comme cela qu'on identifie les bons chef de projet qui doivent tenir compte de la qualité des dévellopeurs affectés au projet pour établir un planning réaliste.
__________________
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Graffito est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 01/03/2013, 20h47   #7
mogwai162
Membre Expert
 
Avatar de mogwai162
 
Homme Patrick Catella
Chef de projet MOA
Inscription : janvier 2006
Messages : 1 374
Détails du profil
Informations personnelles :
Nom : Homme Patrick Catella
Âge : 50
Localisation : France, Vosges (Lorraine)

Informations professionnelles :
Activité : Chef de projet MOA

Informations forums :
Inscription : janvier 2006
Messages : 1 374
Points : 1 918
Points : 1 918
Bonjour

Tout à fait d'accord avec les remarques concernant la notation hongroise (pas de typage) et la refactorisation (le mieux est l'ennemi du bien trop refactorisation et c'est le clash assuré surtout sans tests de non régression qui sont nécessaires lors de chaque modification du programme).

En ce qui concerne l'évaluation et le respect des délais, en ce qui me concerne c'est déjà du hors sujet. En dehors de la portée de l'article. Il n'a pas été question de la rédaction du cahier des charges ni du suivi des utilisateurs. Arrêtons nous là.

Merci
__________________
Patrick Catella

Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition
mogwai162 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/03/2013, 12h13   #8
HamzaR9
Invité de passage
 
Homme
Étudiant
Inscription : mars 2013
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 19
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : mars 2013
Messages : 1
Points : 2
Points : 2
Merci bcp pour ces règles
HamzaR9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2013, 02h57   #9
dragonno
Membre éprouvé
 
Inscription : janvier 2009
Messages : 582
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 582
Points : 487
Points : 487
Bon article mais qui ne s'adresse pas aux débutants car le trait est rapide, sec, utilisant souvent des termes de professionnels et de techniques qui le sont aussi.

Le titre de ce topic ne correspond pas du tout au sujet de l'article, qui est selon l'auteur :
Citation:
comment faire pour devenir un meilleur développeur ?
Je verrais cet article comme plutôt réservé à des programmeurs d'expérience, et même en milieu professionnel je dirais.
Citation:
Quel que soit votre environnement de développement, langage, société dans laquelle vous travaillez,
Nullement question de niveau dans la description, même si le sigle "pour tous" est affiché.

Ce serait utile de modifier le titre en conséquence donc.

Pour les débutants je prévois bientôt un article sur mon site qui leur est réservé. (ma signature)
__________________
Cliquez ici et reprenez le pouvoir !
A bas IE !, Google, et le pistage du net, testons DuckDuckGo.com
Lords Of The Realm II Download : Lords of the realm 2
Infos en anglais :Ici
dragonno est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h32.


 
 
 
 
Partenaires

Hébergement Web