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

Algorithmes et structures de données Discussion :

Que faut-il enseigner aux apprentis programmeurs ?


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    N'utilisez pas un mot à la place d'un autre ! Vous utilisez le mot rigueur pour ce qui n'en est pas. Ne changez pas le sens des mot comme cela. La rigueur n'a rien a voir avec ce que vous expliquez.
    Citation Envoyé par wikipédionnaire
    rigueur :
    3.Exactitude inflexible.
    D'ailleurs, si il faillait de la rigueur pour faire un programme informatique, ça serai des programmes informatiques qui liraient et coderaient les spécifications clients, pas des développeurs.

    Lire une spécification et se dire "Ce que j'ai lu/compris, ça à un sens ?". Ce n'est pas de la rigueur, c'est du bon sens. A la limite, si on considère qu'on travail avec des personnes qui "n'en ont rien à foutre", c'est le "goût du travail bien fait".

    Ce n'est pas ça un bon développeur. Il y a eu un procès avec un sous-traitant indien qui avaient justement fait exactement ce que demandait la spécification. Ils ont gagné le procès, car le contrat demandait de faire la spécification, pas un logiciel qui fonctionne ou qui résout un problème.

    Et le bon-sens, il faut du temps pour l'avoir. L'école n'apprendra jamais le bon-sens utile en informatique.

    Exemple : Vérifier que la version qui plante et la même que la version des sources.
    Vérifier que son collègue se serai pas à l'origine de la modification sur la base de donnée commun.
    Vérifier que le client veux bien 3 modal qui se superposent ou si celui-ci n'a pas juste vue ce détail qui fait chier à l'utilisation.
    Vérifier que la priorité de la fonctionnalité "sympathique" passe bien avant le cœur fonctionnelle.
    Vérifier que le nom de sa classe est toujours bien nommé après avoir ajusté son comportement "pour que ça marche".
    Dire pourquoi tu commente un code pour le savoir dans 6 mois. (Quand tu n'a jamais fait de maintenant, ce n'est franchement pas évident.)
    ...

    Ce genre de chose tout comme ce que dit le blogueur, ça demande du bon-sens et une bonne touche de savoir-faire.

    Cordialement,
    Patrick Kolodziejczyk.

    Source :
    http://fr.wiktionary.org/wiki/rigueur
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  2. #2
    Membre éclairé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 331
    Par défaut
    Citation Envoyé par kolodz Voir le message
    N'utilisez pas un mot à la place d'un autre ! Vous utilisez le mot rigueur pour ce qui n'en est pas.
    Source :
    http://fr.wiktionary.org/wiki/rigueur
    Le Trésor de la langue française informatisé (TFLI) http://atilf.atilf.fr/ est la meilleure référence que je connaisse à ce sujet (et c'est gratuit), avec de nombreux exemples pour préciser le sens d'un mot et son usage.

    Pour le mot rigueur, on trouve diverses acceptations, et par exemple
    C. Caractère d'exactitude, de précision, de régularité de quelque chose. Rigueur scientifique, mathématique, logique; rigueur d'une démonstration, d'un raisonnement, d'une expérimentation. Cet idéal ne pourra être atteint, mais ce sera assez de l'avoir conçu et d'avoir ainsi mis la rigueur dans la définition de l'unité de temps. Le malheur est que cette rigueur ne s'y rencontre pas (H. POINCARÉ, Valeur sc., 1905, p. 40).

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Par défaut réponse à saverok
    Bien sur Saverok mais la compréhension peut être parfois "floue ou interprétée " le développeur "croit " avoir compris le besoin et donc ne prend pas toujours le temps de se renseigner sur un besoin exprimé qui lui paraît "évident" et pourtant....
    ex : afficher l'information xxx peut être une demande utilisateur
    si le demandeur ne précise pas que cette information est numérique (combien de chiffre après la virgule)ou alphanumérique, qu'elle comporte zz caractères et que de plus in y a une règle d'affichage... et bien on peut perdre beaucoup beaucoup de temps....

    cordialemment

  4. #4
    Membre très actif Avatar de zaza576
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2013
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2013
    Messages : 175
    Par défaut
    Hello, je donnerais pour ma part mon humble avis.

    Il faut enseigner ceci aux apprentis programmeurs :

    "Codes. Codes bien. Codes en imaginant que le mec qui reprendra le code derrière toi est un sérial killer qui sait où tu habites !"

    Un code clair, concis, rigoureux, simple et de qualité, qui répond à des besoins bien spécifiés et qui fait ce qu'il doit faire : C'est la qualité qu'on devrait enseigner.

    Et surtout, surtout, faire des tests pour chaque source réalisé !

    Ensuite, si on considère que l'apprenti programmeur va évoluer dans l'entreprise et devenir un peu plus qu'un simple apprenti, on peut leur enseigner aussi toutes les méthodologies d'organisation de travail personnel (kanban, ...), de travail en équipe (agile, xp, scrum, ...), de tests (TDD, BDD, Tests unitaires, fonctionnels, d'intégration, de désintégration aussi ), de recherche d'information (un petit cours sur Google et ses compagnons).

  5. #5
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 434
    Billets dans le blog
    3
    Par défaut
    Et c'est qui qui va leur enseigner tout ça et leur payer cette formation ? {'^_^}
    S'il suffisait de tout apprendre, je pense pas qu'on aurait ce genre de soucis.

    Citation Envoyé par zaza576 Voir le message
    "Codes. Codes bien. Codes en imaginant que le mec qui reprendra le code derrière toi est un sérial killer qui sait où tu habites !"
    Tu veux les faire fuir ou quoi ? {'°o°}
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    2 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 2 161
    Par défaut
    Citation Envoyé par Matthieu Vergne Voir le message
    Et c'est qui qui va leur enseigner tout ça et leur payer cette formation ? {'^_^}
    Je pense que c'est bien d'avoir cette réflexion pour réformer l'enseignement supérieur justement
    Savoir réorienter les formations pour être plus proche des réalités du terrains
    Une formation est justement là pour préparer au mieux à la vie professionnelle

    Le rapprochement, forcé, des universités avec le privée est dans ce sens une très bonne chose
    Avoir des formations mieux adaptées au marché de l'emploi et mieux adaptés aux exigences de l'entreprise ne peut être qu'un plus

    Citation Envoyé par Matthieu Vergne Voir le message
    S'il suffisait de tout apprendre, je pense pas qu'on aurait ce genre de soucis.
    En effet, rien ne remplace l'expérience

  7. #7
    Membre très actif Avatar de zaza576
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2013
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2013
    Messages : 175
    Par défaut
    Citation Envoyé par Matthieu Vergne Voir le message
    Et c'est qui qui va leur enseigner tout ça et leur payer cette formation ? {'^_^}
    S'il suffisait de tout apprendre, je pense pas qu'on aurait ce genre de soucis.
    Le contribuable bien sûr, alias Papa et Maman ;-) !

    Citation Envoyé par Matthieu Vergne Voir le message
    Tu veux les faire fuir ou quoi ? {'°o°}
    Non, juste donner un versant de la réalité . Et leur montrer qu'il faut qu'ils s'attendent à ce que, face au contexte économique actuel, et même dans les années à venir, les entreprises soient de plus en plus exigeantes avec eux sur la qualité de leur travail.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,


    J'ai lu vite fait les conseils donnés en premier message.
    Je veux dire : un programmeur n'est pas idiot.
    Je programme un peu comme je veux. Telle est la liberté N+1 du rôle du N-1.

    C'est pas ce que vous croyez, en fait, c'est lorsqu'on on prend plus de responsabilités que l'on est moins libre. Pas l'inverse.

    Donc en tant que critique de code, moi, je le corrigerait, ce serais comme mon taf.
    Mais je code pas comme ça pour rien.

  9. #9
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    2 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 2 161
    Par défaut
    Citation Envoyé par jovalise Voir le message
    Je veux dire : un programmeur n'est pas idiot.
    Personne n'a dit ça.
    On parle de formation et de bonnes pratiques de programmation.
    Bien au contraire, se former / être formé et évoluer dans son travail est une grande preuve d'intelligence.
    La bêtise, c'est stagner et regresser.
    Quelqu'un qui apprend et qui a soif d'apprendre démontre de grandes preuves d'intelligence.

    Citation Envoyé par jovalise Voir le message
    Je programme un peu comme je veux. Telle est la liberté N+1 du rôle du N-1.

    C'est pas ce que vous croyez, en fait, c'est lorsqu'on on prend plus de responsabilités que l'on est moins libre. Pas l'inverse.

    Donc en tant que critique de code, moi, je le corrigerait, ce serais comme mon taf.
    Mais je code pas comme ça pour rien.
    Je n'ai pas trop compris là...
    Peux-tu expliciter stp ?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Saverok Voir le message
    Personne n'a dit ça.
    On parle de formation et de bonnes pratiques de programmation.
    Bien au contraire, se former / être formé et évoluer dans son travail est une grande preuve d'intelligence.
    La bêtise, c'est stagner et regresser.
    Quelqu'un qui apprend et qui a soif d'apprendre démontre de grandes preuves d'intelligence.



    Je n'ai pas trop compris là...
    Peux-tu expliciter stp ?
    Ceux qui saurons inventer serons meilleurs encore.
    Je dis que je code pas sans commentaire pour rien, un code bien documenté est un code auto- documenter, c'est à dire qu'on va suffisamment comprendre le code à la manière dont il est écrit. Je l'ai interprété ainsi, et ça m'arrange bien.

  11. #11
    Membre averti Avatar de l'art souille
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 34
    Par défaut
    L'auto-discipline est celle qu'on s'impose tandis que la discipline, on l'impose.
    La première a davantage de chances de produire des effets que la seconde.

  12. #12
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 434
    Billets dans le blog
    3
    Par défaut
    Dans l'absolu, je ne suis pas d'accord avec ce monsieur, dans le sens où ça ne me semble pas être le plus important. Important, mais pas le plus important. Le plus important me semble être de trouver la motivation personelle à appliquer ces règles de bonne pratique (dans leur ensemble ou chacune séparément). Car c'est ça qui permettra de les faire passer avant la contre-motivation de "faire plus en moins de temps", contre-motivation qu'on trouve partout autour de nous. Si on n'a pas la motivation nécessaire pour aller contre ça, y'a pas de raison qu'on le fasse. Et je doute que se forcer à faire comme son mentor l'a dit, sans plus de raison que "c'est mieux comme ça", soit une motivation suffisante pour faire face à ce que son patron lui demande.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  13. #13
    Membre averti
    Homme Profil pro
    Directeur Recherche et développement
    Inscrit en
    Janvier 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur Recherche et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 67
    Par défaut
    Outre les erreurs classiques mentionnées, je leur dis souvent au nouveaux de s'attarder beaucoup au design et pas seulement à la mécanique du code mais insistant sur les concepts qu'il faut pour résoudre le problème. S'il n'y a que cette directive et les règles mentionnés ci-haut, ils produisent habituellement un design très complet et détaillées et un implantation convenable assez bien commenté. Par contre, je qualifie leur code d'à peine passable. Un bon design n'est pas nécessairement détaillé. D'ailleurs trop de détails s'avèrent souvent inutile en cours de route du projet, précision des spécifications, nouvelles fonctionnalités, etc. Des concepts définis et clairs pouvant s'appliquant à résoudre notre problème tout en pouvant être employé dans un autre contexte est le but à atteindre. Souvent, quand les nouveaux programmeurs prennent ce commentaire à la lettre, ils construisent alors des classe très générales. C'est ici un autre piège. Un concept général a nullement besoin d'une classe général pour être implanter. Il faut être un programmeur paresseux et ne coder que le minimum, tant au niveau du code, documentation, commentaire et design. Un paresseux intelligent toutefois, qui a un discipline de fer pour réutiliser et faire évoluer les concepts qu'il a mis au point (SVP. Ne pas refaire ce qui a déjà été réalisé!)

  14. #14
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 434
    Billets dans le blog
    3
    Par défaut
    Je plussoie. Avec un bémol sur le "ne pas refaire", qui a quand même son avantage d'un point de vue apprentissage.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  15. #15
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    2 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 2 161
    Par défaut
    Citation Envoyé par Matthieu Vergne Voir le message
    Je plussoie. Avec un bémol sur le "ne pas refaire", qui a quand même son avantage d'un point de vue apprentissage.
    Refaire, oui, mais uniquement dans un objectif d'auto formation et si et seulement si, le développeur a le temps pour cela.
    Sinon, c'est sur son temps perso

    Le refaire pour optimiser doit uniquement être fait si c'est un objectif de la demande initiale.
    Il est en général assez hasardeux de faire une optimisation non initialement prévue car cela implique des TNR à anticiper sur le planning de recette (s'il les TNR ne sont pas automatiser ce qui malheureusement est assez/trop souvent le cas)

  16. #16
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 15
    Par défaut sens
    Le sujet est intéressant, je trouvais juste bizarre l'usage de la Discipline (obéissance principalement comme à l'armée) dont le sens en français n'est pas vraiment le même que auto-discipline ("self discipline" en anglais on peut aussi le traduire dans le cas présent par rigueur).
    Mais c'est juste une mauvaise traduction, ça me rassure (quoique pour ceux qui voient les programmeurs comme des outils de saisie avec la conception entièrement entre les mains de concepteurs justement, mais ils oublient que pour faire un code juste il faut le comprendre (au moins localement si pas forcément l'ensemble), on ne code pas correctement si on ne comprend pas du tout ce qu'on fait, ça revient à vouloir jouer une partition sans lire couramment la musique, et pour le code le résultat n'est pas beau à voir si pour la musique ce sera plutôt douloureux à entendre).

  17. #17
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Par défaut Java Class
    Bonjour ,
    Je suis débutant en Java je voudrais savoir comment on peut créer une classe à l'intérieur d'une autre et comment s'appel cette opération ?
    merci .

  18. #18
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 434
    Billets dans le blog
    3
    Par défaut
    Cherche "java classe interne" sur ton moteur de recherche préféré. Tu devrais trouver tout ce qu'il te faut. Mais je ne répondrai pas à d'autre questions là dessus car ce n'est pas le sujet. Merci donc de demander ailleurs.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  19. #19
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Par défaut Classe java
    Citation Envoyé par Matthieu Vergne Voir le message
    Cherche "java classe interne" sur ton moteur de recherche préféré. Tu devrais trouver tout ce qu'il te faut. Mais je ne répondrai pas à d'autre questions là dessus car ce n'est pas le sujet. Merci donc de demander ailleurs.
    Merci , est ce qu'il y a une relation entre la class java interne et le diagramme uml ? c'est quoi le nom de l'opération exacte ? heritage , agrégation ...
    dsl si j'ai répondu ici pour ne pas pardre la discussion quelque part dans un autre forum.

Discussions similaires

  1. Que faut il pour répondre au téléphone depuis son pc
    Par Coussati dans le forum Périphériques
    Réponses: 16
    Dernier message: 24/05/2008, 00h17
  2. que faut-il pour être un bon programmeur?
    Par H@keR dans le forum Etudes
    Réponses: 4
    Dernier message: 25/11/2007, 20h17
  3. [juridique] Que faut-il faire pour etre mandataire?
    Par Death83 dans le forum Droit
    Réponses: 5
    Dernier message: 24/11/2005, 18h09
  4. interface graphique utilisateur, que faut-il utiliser?
    Par Missvan dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 01/03/2004, 13h18

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