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 :

Développer : une activité imprévisible à risque?


Sujet :

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

  1. #1
    Membre averti
    Inscrit en
    Août 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 307
    Points : 378
    Points
    378
    Par défaut Développer : une activité imprévisible à risque?
    Salut à tous,

    Je ne sais combien ont fait la même expérience que moi, mais maintenant à chaque étape de mon activité de développement je croise les doigt que ça marche. Je vais prendre juste un cas récent pour illustrer (j'en rencontre très très souvent)

    J'ai écrit une application, cela marchait parfaitement dans mon environnement de dev, il me fallait maintenant déployer dans l'environnement de production, en fait c'est une activité tellement banale que je ne planifie pas une "date line" pour elle. ( constamment je déploie sur l'environnement que production en quelque minute et tout marche bien).

    Mais cette fois-ci, une erreur est générée par l'infrastructure ( le serveur d'app Jboss+framework seam) me disant qu'une de mes classes est introuvable, pourtant elle est bien là dans le classpath.

    Après avoir cherché pendant 3 jours, j'ai constaté que dans cette dernière itération de mon application, j'ai utilisé un outil optionnel de Seam (quartz) qui lui même avait un fichier de config (.properties) qui n'avait pas été pris en compte dans le script de déploiement de mon application (donc le fichier quartz.properties était absent dans le serveur de production). Mais le message d'erreur affiché ne faisait même pas allusion à quartz, m'affichait une erreur qui n'avait rien avoir avec le vrai problème.

    Cela m'a pris trois jours pour identifier le problème, pour une activité qui me prend d'habitude quelques minutes (voir quelques secondes)!!
    Et j'ai de nombreux exemples de problèmes "bizarres" qui m'arrivent quand je développe.

    Qu'en est il pour vous?

  2. #2
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Salut

    Citation Envoyé par kisitomomotene Voir le message
    Salut à tous,

    Je ne sais combien ont fait la même expérience que moi, mais maintenant à chaque étape de mon activité de développement je croise les doigt que ça marche. Je vais prendre juste un cas récent pour illustrer (j'en rencontre très très souvent)

    J'ai écrit une application, cela marchait parfaitement dans mon environnement de dev, il me fallait maintenant déployer dans l'environnement de production, en fait c'est une activité tellement banale que je ne planifie pas une "date line" pour elle. ( constamment je déploie sur l'environnement que production en quelque minute et tout marche bien).

    Mais cette fois-ci, une erreur est générée par l'infrastructure ( le serveur d'app Jboss+framework seam) me disant qu'une de mes classes est introuvable, pourtant elle est bien là dans le classpath.

    Après avoir cherché pendant 3 jours, j'ai constaté que dans cette dernière itération de mon application, j'ai utilisé un outil optionnel de Seam (quartz) qui lui même avait un fichier de config (.properties) qui n'avait pas été pris en compte dans le script de déploiement de mon application (donc le fichier quartz.properties était absent dans le serveur de production). Mais le message d'erreur affiché ne faisait même pas allusion à quartz, m'affichait une erreur qui n'avait rien avoir avec le vrai problème.

    Cela m'a pris trois jours pour identifier le problème, pour une activité qui me prend d'habitude quelques minutes (voir quelques secondes)!!
    Et j'ai de nombreux exemples de problèmes "bizarres" qui m'arrivent quand je développe.

    Qu'en est il pour vous?
    C'est typiquement le cas d'erreur où je n'hésite pas à demander de l'aide à quelqu'un qui a plus d'expérience. La première fois que tu la rencontres tu es dubitatif. Tu comprends l'erreur, tu vérifies mais, tout semble normal. La prochaine fois tu sauras qu'il faudra également vérifier que TOUT est là. Une classe ne peut pas se charger si un bout de code statique exécuté à l'initialisation de la classe génère une exception (j'imagine que c'est le cas sur lequel tu es tombé).

    Bref, c'est le genre de chose qu'on ne peut pas prévoir. 3 jours de perdus c'est énorme mais, tu ne peux pas le prévoir. C'est en partie pour ça, je pense, que l'expérience compte énormément. Plus t'en as, plus tu es capable de te sortir de ce genre de mauvais pas.

    Par contre je ne suis pas aussi tendu que toi quand je développe. Ce n'est pas de la magie noire. Quand ça ne marche pas, il y a une explication. Le problème est que ça peut dépasser notre domaine de compétences je préfère que ça ne marche pas et comprendre pourquoi plutôt que ça marche "sans faire exprès"

    Yann

  3. #3
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Perso c'est exactement ça qui me chiffonne dans java et les applications J2EE. On prend des grosses usines à gaz de serveur d'application qui sont devenus des bloatwares incroyables en raison des spécifications vaseuses de SUN, on y ajoute une tonne de frameworks et de couches bizarroïdes qui font de la magie noire et... résultat?

    Ca marche....
    ... sauf quand ça marche pas...

    Et là c'est le cauchemar, on se mange des stacktraces de 60m dans du code injecté, chargé à chaud etc...
    Des expériences de ce genre j'en ai vécues plusieurs, certaines dues à des problèmes très obscures de classloader etc...

    Ma philosophie aujourd'hui, c'est de me limiter aux frameworks les plus simples et les moins *magiques*, de coder un maximum de choses moi-même avec beaucoup de tests unitaires.
    Oh je sais que c'est une perte de productivité et que je tape parfois du code pour des choses qui normalement, dans les technos actuelles, ne s'écrivent pas mais se *configurent*. Cependant je ne peux plus, et ne veut plus me retrouver désarmé face à des erreurs provenant d'artifices dont je ne comprends pas le quart.

    Et je suis pas sûr de vraiment perdre au change car au moins, si il y a des soucis de performance ou de montée en charge, je maîtrise parfaitement ce que je brasse.

    Une attitude de vieux con chez un jeune développeur, m'voyez?

  4. #4
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Citation Envoyé par _skip Voir le message
    Ma philosophie aujourd'hui, c'est de me limiter aux frameworks les plus simples et les moins *magiques*, de coder un maximum de choses moi-même avec beaucoup de tests unitaires. ... je ne peux plus, et ne veut plus me retrouver désarmé face à des erreurs provenant d'artifices dont je ne comprends pas le quart.

    Et je suis pas sûr de vraiment perdre au change car au moins, si il y a des soucis de performance ou de montée en charge, je maîtrise parfaitement ce que je brasse.

    Une attitude de vieux con chez un jeune développeur, m'voyez?
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

  5. #5
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Citation Envoyé par _skip Voir le message
    Et je suis pas sûr de vraiment perdre au change car au moins, si il y a des soucis de performance ou de montée en charge, je maîtrise parfaitement ce que je brasse.
    La semaine dernière, je m'occupais de réaliser un outil pour synchroniser deux systèmes...

    Je veux d'abord faire les choses "bien". Et du coup, j'utilise les services SOAP et autres trucs du genre exposés par l'un des systèmes.

    C'est joli, ça marche... Et ça rame. Pas trop content, je cherche une solution "propre" et pour finir, je me décide à réaliser mon propre service REST, parce que bon... D'la merde quoi. Pas que ça à faire.

    Un peu plus tard, ça marche... C'est toujours joli. Mais ça rame. Juste que ça rame pas au même endroit. Maintenant, c'est l'autre système (qui ramait aussi avant, mais ça se voyait pas encore avant)... Par contre là, outlook interop, euh... Pas cool pour trouver un remplaçant. Ou du moins je connais pas.

Discussions similaires

  1. Développer une IHM en C++
    Par nxpyb dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 17/11/2004, 16h10
  2. Réponses: 16
    Dernier message: 12/11/2004, 00h05
  3. [RCP] Devrais-je développer une application RCP ou un plugin ?
    Par arN34 dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 23/09/2004, 17h09
  4. Réponses: 2
    Dernier message: 26/08/2003, 14h21

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