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

Actualités Discussion :

Le code open source égal ou meilleur que le code propriétaire

  1. #21
    Membre éclairé
    Profil pro
    Inscrit en
    mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2010
    Messages : 549
    Points : 667
    Points
    667
    Par défaut
    Citation Envoyé par _skip Voir le message
    Tu trouves aussi, sauf erreurs, des outils tiers et des plug ins pour certains IDE qui permettent de sortir des chiffres sur la complexité d'une base de code en se basant sur différents critères plus ou moins simples, tout comme le respect des règles de nommage etc que tu cites. Donc oui je peux me douter qu'une grosse suite comme celle dont il est question ici propose cela. Cependant est-ce que j'ai le droit de douter du fait que ces chiffres puissent servir de base solide de comparaison entre des projets de nature différente?
    Je ne doute pas que l'on puisse utiliser de ce genre d'analyse pour suivre l'évolution d'un projet et de sa complexité et éventuellement d'en tirer si nécessaire certaines conclusions. Mais là il s'agit de projets clairement très différents.



    A ce titre, crois-tu à titre d'exemple qu'un code coverage à 99% avec des tests unitaires est signe que les tests effectués sont d'excellentes qualité? A nouveau c'est un chiffre concret qui est un des éléments d'une analyse globale, mais ce n'est pas forcément la réponse du 100%.

    Tu as sans doute raison de faire remarquer que je ne suis pas un expert de ce genre d'outil mais cependant, bien que je ne critique aucunement le recours à ce genre de technique lorsqu'elles sont disponibles, je me dis toujours que lorsque l'on sait à quel point la qualité est parfois une notion subjective chez les humains c'est difficile pour un outil d'établir un classement fiable sur des logiciels totalement hétérogènes.
    Je ne critique pas du tout l'utilité d'essayer d'anticiper un maximum d'anomalies avec des outils de ce genre, ni l'aptitude à sortir des rapports cohérents (même si je t'avoue que je suis loin de connaître tous les mécanismes auxquels on a recours pour ce faire), je me méfie juste de la comparaison qui est faite ici.
    un très bon outil à utiliser: sonar........ assez complet et simple d'usage... assez impressionnant tout ce qu'il peut sortir en un rien de temps

  2. #22
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 321
    Points : 18 477
    Points
    18 477
    Par défaut
    Citation Envoyé par lequebecois79 Voir le message
    un très bon outil à utiliser: sonar........ assez complet et simple d'usage... assez impressionnant tout ce qu'il peut sortir en un rien de temps
    en fait, Sonar ne fait "théoriquement" pas grand chose... mais cela suffit déjà à couvrir plein de bugs courant dans les projets lambda

    par exemple, il est 100 fois plus facile et rapide d'utiliser un fuzzer pour tester une appli qu'une simple coloration de teinte sur les variables... ça trouve plus de bugs sur un projet moyen, mais plein de bugs vicieux ne sont détectés que par l'analyse statique (et parfois seulement sous forme de faux positifs de manière automatique)
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #23
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : février 2006
    Messages : 2
    Points : 6
    Points
    6
    Par défaut
    Je dirais plutôt que le code open source est souvent développé par des gars qui codent le jour sur du propriétaire, et le soir sur de l'open-source. Ou certaines sociétés permettent à leurs développeurs "phares" de coder sur de l'open-source pendant leur journée (prenons les exemples apache cxf-servicemix, ce ne sont pas des manches qui sont mandatés par les sociétés sponsors).
    Par contre, sur du propriétaire, pour avoir voyagé dans beaucoup de boites en tant que freelance, on peut voir de tout, mais surtout des gars qui sont là pour le coté alimentaire du métier, et donc, pas spécialement concernés par du code de qualité, mais plutôt par l'horloge qui arrive à 15h36 (7h36 de boulot en Belgique!!!). Et puis, qui n'a jamais récupéré du code propriétaire "mastodonte" dans la boite où il était mandaté comme consultant.

  4. #24
    Membre habitué
    Avatar de savageman86
    Profil pro
    Inscrit en
    octobre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2006
    Messages : 105
    Points : 198
    Points
    198
    Par défaut
    +1 Christuff Avec ce que je lis, j'ai envie d'avoir le fameux chiffre du taux de défauts en fonction de la taille du projet.

  5. #25
    Membre éclairé
    Profil pro
    Inscrit en
    mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2010
    Messages : 549
    Points : 667
    Points
    667
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    en fait, Sonar ne fait "théoriquement" pas grand chose... mais cela suffit déjà à couvrir plein de bugs courant dans les projets lambda

    par exemple, il est 100 fois plus facile et rapide d'utiliser un fuzzer pour tester une appli qu'une simple coloration de teinte sur les variables... ça trouve plus de bugs sur un projet moyen, mais plein de bugs vicieux ne sont détectés que par l'analyse statique (et parfois seulement sous forme de faux positifs de manière automatique)
    il fait en autre
    mauvaise pratique
    respect de convetion de code
    test unitaire
    métrique
    code non optimal
    code mort, dupliqué
    Deréférencement de pointeur null
    ....

    pas si mal pour un outil qui fait pas grand chose

  6. #26
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 321
    Points : 18 477
    Points
    18 477
    Par défaut
    Citation Envoyé par lequebecois79 Voir le message
    il fait en autre
    mauvaise pratique
    code non optimal
    ....
    code non optimal c'est assez vague comme notions... déjà il faut définir des critères, idem pour mauvaise pratique qui en fait ne peut vérifier que ce que l'outil a bien voulu autoriser dans la description des dites pratiques (un détail là encore, mais qui change tout le sens d'un vrai analyseur )


    Citation Envoyé par lequebecois79 Voir le message
    pas si mal pour un outil qui fait pas grand chose
    ben non, je le répète : cela ne représente presque rien par rapport à ce que l'on peut faire via des analyses statiques
    après je ne dis pas que cela ne sert à rien, que cela ne répond pas aux erreurs habituelles sur des projets non critiques, etc. je dis juste que comparé à ce qu'on peut vérifier statiquement, c'est très peu... mais tous les projets n'ont pas besoin d'un tel niveau de vérification ou même les moyens pour avoir les outils adhoc
    • commerciaux avec des licences onéreuses
    • open-source/académique ne traitant souvent que quelques aspects d'analyses et sans intégration dans des IDE sophistiquées car parfois développer par des chercheurs pour montrer l'intérêt de leurs travaux mais n'ayant ni le temps ni les moyens de maintenir des produits intégrés

    et c'est sans compter le niveau des personnes pour utiliser des outils perfectionnés (PolySpace ça reste encore à la portée d'un développeur un peu formé, mais si l'on part sur des model-checkers les perfs de l'analyse dépendent souvent de l'optimalité du codage des spécifications à démontrer par rapport au moteur d'analyse utilisé)
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #27
    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 : 38
    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 611
    Points
    7 611
    Par défaut
    @gorgonite
    Ton entreprise fait de la validation de spécification à l'aide d'analyse statique? Tu peux détailler un peu ton expérience avec cette technique?

  8. #28
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 321
    Points : 18 477
    Points
    18 477
    Par défaut
    Citation Envoyé par _skip Voir le message
    @gorgonite
    Ton entreprise fait de la validation de spécification à l'aide d'analyse statique? Tu peux détailler un peu ton expérience avec cette technique?

    oui mais pas moi (pour le moment, mais je croise souvent ces équipes et je sais quand même quels outils servent et à quoi ils servent)

    mon expérience : beaucoup de théorie (une thèse dans le domaine) et quelques petits analyseurs pour vérifier certains types de propriétés bien précis... ainsi qu'un état de l'art conséquent, donc un petit tour des outils existants, des techniques, de l'état de la recherche académique, etc.
    alors clairement, ça ne couvre pas des projets de centaines de milliers de lignes de code... mais je pense savoir relativement bien ce qu'on peut faire avec des analyseurs statiques, des preuves formelles, etc. et ce à quoi sont utilisés les grands outils du domaine dans l'industrie... mais comme signalé précédemment, c'est un plus pour détecter des erreurs supplémentaires, sachant que pas mal d'outils classiques peuvent déjà avoir bien élagué auparavant
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  9. #29
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2008
    Messages : 1 190
    Points : 2 675
    Points
    2 675
    Par défaut
    Citation Envoyé par hugoterelle Voir le message
    Je dirais plutôt que le code open source est souvent développé par des gars qui codent le jour sur du propriétaire, et le soir sur de l'open-source. Ou certaines sociétés permettent à leurs développeurs "phares" de coder sur de l'open-source pendant leur journée (prenons les exemples apache cxf-servicemix, ce ne sont pas des manches qui sont mandatés par les sociétés sponsors).
    Par contre, sur du propriétaire, pour avoir voyagé dans beaucoup de boites en tant que freelance, on peut voir de tout, mais surtout des gars qui sont là pour le coté alimentaire du métier, et donc, pas spécialement concernés par du code de qualité, mais plutôt par l'horloge qui arrive à 15h36 (7h36 de boulot en Belgique!!!). Et puis, qui n'a jamais récupéré du code propriétaire "mastodonte" dans la boite où il était mandaté comme consultant.
    Assez d'accord avec ça. La qualité essentiellement de la personne et du contexte, très difficile de juger équitablement la qualité de l'ensemble donc.

  10. #30
    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 : 38
    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 611
    Points
    7 611
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    mais comme signalé précédemment, c'est un plus pour détecter des erreurs supplémentaires, sachant que pas mal d'outils classiques peuvent déjà avoir bien élagué auparavant
    Est-ce que tu estimes selon l'étude que tu as mené que dans ce domaine, on est dans une logique "you get what you (don't) pay for". Soit qu'il faut passer à la caisse question licence si on veut quelque chose de vraiment sérieux?

  11. #31
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 321
    Points : 18 477
    Points
    18 477
    Par défaut
    Citation Envoyé par _skip Voir le message
    Est-ce que tu estimes selon l'étude que tu as mené que dans ce domaine, on est dans une logique "you get what you (don't) pay for". Soit qu'il faut passer à la caisse question licence si on veut quelque chose de vraiment sérieux?
    détailles un peu, stp.

    a priori, l'utilisation des méthodes formelles est utile dans les domaines ayant besoin d'une grande fiabilité soit pour pallier aux risques humains, soit pour pallier aux risques financiers importants, soit pour garantir une plate-forme très fiable en raison de durée de vie très longue des projets/composants.

    après si tu fais le site web d'une PME, à part éventuellement la sécurité contre les intrusions (et encore, uniquement si une activité commerciale est réellement liée au site ou que des données très confidentielles sont accessibles), clairement tu ne vas pas sortir une telle artillerie... ou alors plus par idéologie que par nécessité


    Citation Envoyé par Dijksta
    Program testing can be used to show the presence of bugs, but never to show their absence!
    les méthodes formelles sont, à ma connaissance, le seul moyen pour prouver qu'un système déterministe ne présente aucune erreur par rapport à une spécification dans le cadre d'un modèle formel (!= réalité, ça peut être vicieux attention)
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  12. #32
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

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

    Informations forums :
    Inscription : juin 2005
    Messages : 681
    Points : 1 910
    Points
    1 910
    Par défaut
    moi je suis d'accord avec l'etude mais en me basant sur un autre aspect non demontrable mais vecu:

    d'abort ca peut etre absurde de dire qu'un codeur open source est mieux qu'un proprietaire dans la mesure ou deux sources peuvent avoir ete code par la meme personne.
    donc pourquoi la meme personne ecrit "propre" en opensource et sal en "proprio"?

    simplement a cause de contraite differente. dans mon cas je code en C sur serveur linux avec des grosses demandes de gestion memoire, generalement ce sont des mini(dans les 5000lignes) projets interdependant et on a un projet par personne, dans notre equipe il ya 3 language utiliser par 5 personne C++/4 python/2(moi compris) et C/1(moi seul). voila ce qui ce passe. on nous dis le grand boss dois faire une demo au client dans 5 jours (le client a deja paye une bonne partie donc normal qu'il voit des resultats).

    dans le cas du dernier projet rechercher une pub bien precise dans une video, le client vient avec ses pubs et video et attend du logiciel l'extraction de la pub avec des info sur la duree, date de debut, et date de fin de la pub dans la video. si vous imagine le travail a faire (reconnaissance video, reconnaissance caractere affiche ...) quand la pression du client arrive on fait un travail visible, donc le client voit le resultat il est satisfait, vu le temps restant on a skipper des choses. dans mon cas je sais qu'il doit y avoir des fuites memoire qui trainnent, mieut encore on peut avoir des non initialization de pointeur car on y pense plus vraiment. et plein de petit bugs.
    resultat le chez de projet dit, arrange vous pour que ca plante pas pendant la demo on corrigera les bugs plus tard.
    resultat 2. la demo passe, le client veut de la prod tout de suite, le boss lui donne et on corrige non plus les bugs et autre defaut mais juste les plantages evantuelle. pourquoi il a plante la, maintenant Ok j'ai compris on corrige. et on passe au projet suivant.

    ce que je veux montrer c'est que parfois en entreprise j'ai le sentiment que mon programme marche mais qu'il a un truc pas claire dedant que j'aurait fait differement si je le faisait chez moi sans contrainte de temps.

    apres ce long discours je veux justifier le faite que ce soit pas impossible qu'un projet opensource soit mieux fait. d'un point de vue code. parcontre point de vue ergonomique.
    je suis un open source fanboy mais faut reconnaitre que a produit equivalent c'est souvent par defaut plus ergonomique (pas forcement plus logique) chez les proprietaires.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

Discussions similaires

  1. Réponses: 24
    Dernier message: 22/05/2014, 22h37
  2. inserer un code open source dans son programme
    Par info help dans le forum Débuter
    Réponses: 9
    Dernier message: 10/05/2012, 12h46
  3. code open source
    Par bencoandco dans le forum ALM
    Réponses: 2
    Dernier message: 11/06/2010, 18h05
  4. Clause d'exclusivité et diffusion de code open source
    Par madislak dans le forum Droit du travail
    Réponses: 11
    Dernier message: 21/05/2009, 18h10
  5. Licence pour "code" open source ?
    Par Neilos dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 22/07/2008, 19h12

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