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

Débats sur le développement - Le Best Of Discussion :

Comment obtenir un logiciel ingérable ?


Sujet :

Débats sur le développement - Le Best Of

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 593
    Par défaut
    Il y a quelques temps, j'ai fait un rappel des fonctionnalités réalisées et livrées d'une part, restant à faire d'autre part.
    Réponse : j'aurais fait ça pour gagner du temps...
    Non, juste parce que la maîtrise d'ouvrage ne fait pas son boulot.
    D'où des changements de priorité très (trop) fréquents. Ceci peut (si si) avoir un impact sur la qualité du code.

  2. #2
    Membre expérimenté Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 624
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    En fait, au début du projet, tu as raison. Commencer aujourd'hui un nouveau système en Scala, Ruby, ou je ne sais quel langage relativement récent(y'a sans doute encore plus récent, je ne suis plus très au jus), c'est parfaitement légitime.
    Par récent, perso j'imaginais plutôt GO, le langage que Google a pondu l'an dernier (et qui je crois est déjà plus ou moins abandonné).

  3. #3
    Invité de passage

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 995
    Par défaut
    Citation Envoyé par ManusDei Voir le message
    Par récent, perso j'imaginais plutôt GO, le langage que Google a pondu l'an dernier (et qui je crois est déjà plus ou moins abandonné).
    Non, pas du tout. La version 1.2 de Go est sortie hier.

    Cela dit, tu as raison : Scala est assez récent, mais Ruby est plus vieux que Java...

  4. #4
    Nouveau candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Par défaut
    Pour ma part, là où je travaille :
    - on met tous les JAR de l'appli Java EE dans le dossier /lib/ de Tomcat ("Tom 4" comme dirait mon chef), comme ça, on évite se prendre la tête avec Maven ou Ant.
    - on créé du coup les WAR à déployer dans Eclipse, comme ça, on a pas besoin de configurer Nexus et Jenkins.
    - le tests (unitaires, non régression, etc.), c'est une perte de temps.
    - le serveur de test sert de serveur de développement, et on teste en prod, c'est plus simple.
    - encourager les utilisateurs à utiliser Internet Explorer en mode dégradé (W3C, c'est bien la coupe du monde de jeux vidéo, non?).


    Powered by Norme ISO-1664 from La Rache !!

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut
    - mélanger les dépendances aux licences incompatibles
    - autoriser plusieurs dépendances recouvrant la même fonctionnalité
    - intégré dans un projet multi-plateforme des dépendances non-portables...
    - importer tous les symboles localement sans discernement, comme ça on ne sait pas d'où vient qui.
    - monkeypatcher à outrance

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 25
    Par défaut TRADUCTION!!!!
    Serieusement traduire STAGING par mise en scene????

  7. #7
    Invité de passage
    Inscrit en
    Avril 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1
    Par défaut
    Par rapport à un projet que j'ai récupéré récemment :
    - avoir oublié de committer son projet avant de quitter le boîte
    - avoir comme seuls commentaires des choses comme ça : "Lignes merdiques mais à mettre absolument"
    - mettre des noms de méthodes n'ayant rien à voir avec ce qu'elles font.

  8. #8
    Membre très actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Par défaut
    Pas mal toutes les recommandations déjà invoquées mais j'en rajouterai une, payez vos développeurs comme des employés administratifs et vous aurez du travail à la hauteur de vos espérances ...

  9. #9
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Citation Envoyé par Stéphane le calme Voir le message
    Utilisez un tas de différents langages de programmation et restez à la pointe : essayez les derniers langages qui font le buzz. Tout programmeur qui se respecte peu apprendre un nouveau langage en peu de temps, alors si le prochain développeur qui viendra travailler sur votre code est novice ce n'est pas votre problème.
    Je suis plutôt d'accord avec ça, si ces langages sont vraiment mieux adaptés. On ne va pas utiliser éternellement les mêmes technos sous prétexte qu'on doit pouvoir coller n'importe qui au projet plus tard, sinon plus aucune innovation n'est possible. Et parfois on rend même service au prochain développeur. Personnellement, j'ai déjà découvert de nouvelles bibliothèques en reprenant des projets existants, et je les réutilise maintenant dans d'autres projets.

  10. #10
    Inactif  
    Profil pro
    undef
    Inscrit en
    Février 2013
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : undef

    Informations forums :
    Inscription : Février 2013
    Messages : 1 001
    Par défaut
    • Ne jamais faire simple quand il y a moyen de pondre un code tarabiscoté.

  11. #11
    Membre averti
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mai 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2005
    Messages : 51
    Par défaut Ou est géré le Budget ...
    Bonjour à tous,

    cela fait maintenant 5 ans que je fais dans de la maintenance applicative... et chez nous le service informatique à 0 € de budget .... puis que ce sont les services qui décident de payer ou non pour un logiciel !!

    Du coup, lorsqu'une évolution est demandée, nous disons attention cela a un fort impact... le service répond "c'est nous qui payons, nous le voulons..."

    Nous le faisons faire par l'éditeur qui rechigne aussi à le faire car c'est une belle connerie !

    Au final, une gescom qui devait rester 10 voir 15 ans ne fera que 5 ans et au final également le SI a un budget un droit de veto sur tous les développements... après plus de 2M d'€ de perdu en 5 ans !

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 36
    Par défaut Le pire
    Le pire à mon avis :
    Bien entourer son code avec une gestion des erreurs .. non gérée.
    Le programme ne plantera plus jamais ( le développeur est vraiment très fort et va bénéficier d'une belle promo dans un autre service ).

    Histoire vraie : quand je suis arrivé derrière, le programme était un champs de ruine entouré d'un joli papier cadeau, un vrai cauchemar.

  13. #13
    Invité de passage
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1
    Par défaut Utiliser windev
    l'AGL facilite le travail collaboratif et la gestion des sources des projets est optimale

  14. #14
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    - utiliser des noms de variables à rallonge et ambigus:
    ex: cmdeArticleDecryptedEncrypedAddressDescription

    - chaque méthode renvoit true/false (ou 1/0), ce qui veut dire que chaque méthode appelante comprend un nombre incalculable d'alternative comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!functionA) return false;
    
    if (!functionB) return false;
    C'est vachement cool pour les tests et comprendre la logique

    - utiliser une usine à gaz pour générer des librairies employées dans tous les autres projets (un générateur de code).

    Ce qui veut que lorsqu'une dépendance change, il faut tout recompiler et qu'on retombe dans le problème du support et de "comment fonctionne ce brol!".

    Rem: j'ai actuellement tous ces cas de figure dans une même application, le "développeur" étant parti.

    - A cela rajouter des batches (process) qui doivent tourner inter-systèmes comme SAP, FTP... avec des emails d'erreurs non détaillés et vous vous noyez dans le process.

    PS: j'ai mis 2h pour trouver ou était initialisée une variable dans le code:
    j'ai dû parser tous le code en descendant et en remontant les appels de fonctions car c'était la variable d'à coté!

    Solution: ce dégager au plus vite de ces projets, les laisser mourir ou tout recommencer sur de bonnes bases.
    C'était littéralement de l'obfuscation de code, sans parler des bugs, mauvaise gestion des exceptions.

    Anecdote: quand le développeur était encore là, il nous disait avec un grand sourire:
    "Quel beau code! Ca se lit comme un roman."

  15. #15
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 892
    Par défaut
    Bonjour

    Allez, j'y vais de ma contribution que j'ai vécu et que je subis encore:
    Devoir supporter un framework et un gestionnaire de contenu entièrement développé in house en PHP alors que la même chose (en moins buggé) existe dans le commerce ou en libre !

    Et oui, chers amis ! N'est-il pas plus simple que de réinventer la roue parce que:
    Une solution propriétaire coûte de l'argent et les solutions open-source ne sont pas pérennes
    Voilà ce que j'ai entendu et que je dois encore vivre dans ma boîte.
    Au final, je me retrouve avec une application web PHP que je dois supporter seul (sinon, c'est pas rigolo) et avec la certitude d'avoir un code "papillon": une modification à un endroit entraîne une conséquence non-prévu ailleurs.

    Ah oui, j'oubliais, notre framework n'est pas documenté et on se retrouve avec des doublons et un mélange avec Javascript, Perl et Java dans du PHP des plus exquis.

    Please, quelqu'un qui aurait besoin d'un bio/chemoinformaticien ???

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  16. #16
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    Il peut y avoir plein de raisons valides de réinventer la roue. Mais, ça nécéssite généralement pas mal de ressources et de spécialistes pour quelque chose d'aussi central que le framework.

    Si on a à faire à des gens ne serait-ce que moyens, sur un point qui n'est pas stratégique(le site web est stratégique, pas le framework sur lequel il est basé), c'est un aller simple vers l'enfer garanti, en effet.

  17. #17
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2007
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 677
    Par défaut
    Allez, parce que je le vis en direct-live :
    • Reprendre le code d'un collègue et se retrouver avec très exactement 2166 lignes de code dans le code-behind de l'unique vue d'une application WPF (et de préférence avec un try/catch qui englobe l'instanciation de la vue dans le main). Bref, j'ai très envie de pleurer, pour de vrai --".

  18. #18
    Membre éclairé Avatar de 4sStylZ
    Homme Profil pro
    Null
    Inscrit en
    Novembre 2011
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Null
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 314
    Par défaut
    Alors... De mon coté :
    - Des BDD différentes selon les environnements.
    - Des SGBDR différents selon les environnements. (Sybase-Oracle... *sigh*)
    - Un seul et même environnement pour le développement, la recette (mais heureusement pas la prod).
    - Une appli vendue comme étant basée sur un framework mais qui ne l'utilise pas du tout.
    - Une appli optimisée pour IE avec la google chrome-frame...
    - Plusieurs bibliothèques logiciels inconnue sur la terre, et dont la doc est en Klingon ou un truc du genre.
    - Du code condensé en développement, si si.
    - Pas de norme, pas de commentaires, et je ne saurais parler d'architecture pour un bidonville pareil.

    Et pour finir, la perle :

    - Une série de programme censés être développés de la sorte :
    1) Programmation par un AGL qui compile un code source (lisible) qui lui même est 2) recompilé dans un langage propriétaire dont les sources sont 3) détruits sur la production.

    Normalement si on veut maintenir un tel programme, il est logique de tout maintenir à partir de l'AGL...

    - Ces sources, censés être maintenu l'AGL ont étés modifiés dans le langage de milieu niveau puis recompilés. Tout les source, que ce soient de l'AGL ou ceux du niveau moyen ont étés détruits. La seule solution pour maintenir le code c'est de tester le programme et de pratiquer une rétro ingénérie (Sur deux langage différents), mais là ou tout se corse, c'est que la dernière version du programme à maintenir est sur un OS propriétaire et sur la production uniquement. Il n'y a absolument accès à aucun binaires...

    On est donc obligé de faire des tests en production pour cette rétro ingénérie...

  19. #19
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    ça me rappelle mon père qui s'était coltiné(au début des années) un mélange d'APL et d'assembleur, l'APL étant commenté en slovaque, et l'assembleur en Allemand.

    Le tout à reprendre en COBOL sur un site Français. Bon, être quasi-bilingue Allemand l'a aidé, mais le slovaque.....

  20. #20
    Membre très actif
    Inscrit en
    Septembre 2004
    Messages
    313
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 313
    Par défaut
    C'est marrant, je ne suis pas spécialement fan des commentaires, et je vous dis pourquoi :

    1 - les commentaires, par expérience, sont souvent évident. Pour moi, le commentaire doit donner des explications fonctionnels, et non pas justifier techniquement le code. UN code bien ecrit doit permettre d'etre compris rien qu'en le lisant. Par contre, pourquoi on a placer ce bout de code, au niveau fonctionnel, ca a du sens.

    2 - En maintenance, bien souvent au fil du temps, on modifie le code, mais pas les commentaires. Au final, le nouveau dev qui débarque est induit en erreur. L'effet obtenue est bien souvent pire que l'absence de commentaire en lui même.

    Enfin, pour compléter la liste des choses à faire, j'ajouterai :
    Se contenter du mondialement connu : ca marche sur ma machine (je suis sure que vous l'avez déjà tous vu celui là


    EDIT : absence de commentaire en lui même, et non pas absence de code en lui même.

Discussions similaires

  1. comment obtenir un polynome de regression
    Par evariste_galois dans le forum Mathématiques
    Réponses: 17
    Dernier message: 19/01/2007, 15h06
  2. Comment obtenir le nom d'un pc sur un réseau?
    Par Depteam1 dans le forum MFC
    Réponses: 2
    Dernier message: 19/02/2004, 10h17
  3. Réponses: 5
    Dernier message: 18/01/2004, 16h25
  4. Comment obtenir l'heure du serveur avec flash ?
    Par Michaël dans le forum Flash
    Réponses: 9
    Dernier message: 23/12/2003, 17h50
  5. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54

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