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 :

Bercy publie le code source du calculateur de la taxe d'habitation

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 888
    Points : 87 206
    Points
    87 206
    Billets dans le blog
    2
    Par défaut Bercy publie le code source du calculateur de la taxe d'habitation
    Bercy publie le code source du calculateur de la taxe d'habitation
    la DGFiP a choisi C comme langage, mais la qualité du code est remise en question

    En collaboration avec la mission Etalab qui coordonne la politique d’ouverture et de partage des données publiques (open data), Bercy vient de publier le code source de la taxe d'habitation 2017. Rappelons que les initiatives d'ouverture de code source, de plus en plus fréquentes en France, s’inscrivent dans la mise en œuvre de la Loi pour une République numérique. Promulguée en octobre 2016, cette loi impose à l’État et aux collectivités territoriales de communiquer le code source des logiciels qui sont produits dans le cadre des services publics, sur demande. Les codes sources sont en effet désormais considérés comme des documents administratifs, ce qui les rend accessibles à tout citoyen qui en fait la demande à la Commission d'accès aux documents administratifs (Cada).


    C'est ainsi qu'après avoir été interpellée sur la question, le 28 juin dernier, la Cada a invité le ministère de l'Economie et des Finances à publier le code source du calculateur de la taxe d'habitation. Celui-ci permettra de connaître précisément comment est calculée la taxe et donnera la possibilité aux internautes de tester différentes variables.

    Le code de la taxe d'habitation, qui est produit par la Direction Générale des Finances publiques (DGFiP) a été publié il y a trois jours sur GitHub. On y trouve :
    • un dossier contenant les scripts C tels qu'utilisés par la DGFiP pour calculer la taxe d'habitation 2017 ;
    • un dossier documentation contenant 3 fichiers (données en entrée, données en sortie et liste des anomalies) ;
    • un dossier test permettant de tester le code sur quelques exemples et qui contient un exécutable, des fichiers d'exemples et une documentation expliquant comment faire fonctionner la calculette sur les jeux d'exemple.

    Si l'initiative d'ouverture est à saluer, pour beaucoup de développeurs, c'est la qualité et l'utilité du code qui ont attiré leur attention :
    • noms de variables et commentaires en français (parce qu'ils devraient être en anglais ?) ;
    • convention de nommage incohérente dans toute la base de code. Exemples pour les noms composés de plusieurs mots : Determination_Plaf_Total (chaque mot commence par une majuscule), est_autre_allegement (chaque mot commence par une minuscule), cherche_Erreur (certains mots commencent par une majuscule et d'autres par une minuscule) ;
    • combinaison ou utilisation de plusieurs styles d'indentation dans la base de code ;
    • aucune instruction pour faire un build ;
    • etc.


    Sources : Code source de la taxe d'habitation, Réseaux sociaux

    Et vous ?

    Que pensez-vous de l'ouverture du code source du calculateur de la taxe d'habitation ?
    Avez-vous parcouru le code source ? Qu'en dites-vous ?
    Comment pourrait-on expliquer la qualité du code ?

    Voir aussi :

    Bercy ouvre les codes sources des modèles économétriques Mésange, Opale et Saphir, sous la pression d'une association
    Ouverture des codes source : la DINSIC lance un appel à commentaires sur la politique de contribution aux logiciels libres de l'État français
    France : le code source des logiciels des administrations est communicable, sauf si cela pourrait porter atteinte à la sécurité de leurs SI
    La CMP estime que les codes source des logiciels utilisés en administrations publiques sont communicables par principe, d'après l'avis de la CADA
    Les députés adoptent un amendement imposant la communication des codes source de logiciels utilisés ou développés par l'administration
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Points : 987
    Points
    987
    Par défaut
    ce code

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Citation Envoyé par Michael Guilloux Voir le message
    Que pensez-vous de l'ouverture du code source du calculateur de la taxe d'habitation ?
    Plus de transparence, quel que soit le domaine, c'est toujours mieux.

    Citation Envoyé par Michael Guilloux Voir le message
    Avez-vous parcouru le code source ? Qu'en dites-vous ?
    Rapidement: beaucoup de nombres magiques non expliqués et de noms de variable absconses, au final ça se rapproche presque d'un portage en C du code en TROLL auquel on a eu droit quelques jours plus tôt. Au moins, le choix du C plutôt que TROLL(j'ai cru que c'était une blague en lisant la news, mais c'est vraiment le nom de la techno) montre que dans la chaîne, il n'y a pas eu un fonctionnaire qui s'est bêtement fait avoir par un commercial pour acheter une technologie inutile.
    Déjà, quand j'ai vu l'expression "scripts C" dans le readme sur github j'ai tiqué
    Des noms de fichier qui font tous 8 lettres, comme si le programme avait été développé sous DOS???
    C'est un peu dommage que toutes les data soient dans le code, on se retrouve avec tous ces nombres magiques sans explication. Si au moins des fichiers contenant ces chiffres avaient été générés depuis des fichiers Excel/csv (qui contiendraient toutes les explications nécessaires), ou carrément extraire ces chiffres à l'exécution, mais là les chiffres ont été semés dans le code sans explication.
    Par contre, je ne comprends pas les gens qui s'offusquent du français; ce code n'est pas destiné à être distribué à l'internationale. Il y a peu de chances qu'un autre pays adopte le même calcul d'impôts que nous :p

    Citation Envoyé par Michael Guilloux Voir le message
    Comment expliquez-vous la qualité du code ?
    Euh "expliquer" la qualité de ce code, je vois mal comment faire ça sans connaître le manager et l'équipe qui l'a fait, leurs contraintes, leur budget... On ne peut que constater le résultat. Ou spéculer et dire que ce sont des comptables de métier qui ont appris à programmer sur le tas?

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    historien & product owner
    Inscrit en
    Mai 2018
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Algérie

    Informations professionnelles :
    Activité : historien & product owner

    Informations forums :
    Inscription : Mai 2018
    Messages : 618
    Points : 0
    Points
    0
    Par défaut
    pour la langue des commentaire je reste sceptique.
    je considere l'anglais comme une norme en informatique, et perso tous les codes que je développe sans en anglais( commentaires + noms de variables)

    d'un autre coté, il s'agit d'un code francais développer pour la france... le faire en français pure permet "d’être précis et pas ambiguë" dans ce que le code devrait faire, on peut le faire en anglais mais avec un bon niveau d'anglais, les dev n'ont peut etre pas voulue prendre le risque et ont voulue que leurs code soit compréhensible par d'éventuel "manager" (haut fonctionnaire de l'état)

    quoiqu'il en soit, on ne connais pas les conditions de développement ni le cahier des charges, donc pour moi cette critique n'est pas valable... meme si j'aimerais bien une explication/justification officiel de ce choix


    concernant les noms de variable avec ou sans majuscule en effet c'est quelque chose dont il faut faire attention mais ce n'est pas très grave si il n'ya que sa.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Que pensez-vous de l'ouverture du code source du calculateur de la taxe d'habitation ?
    C'est une bonne chose

    Avez-vous parcouru le code source ? Qu'en dites-vous ?
    Qu'il est plutôt clair.

    Comment expliquez-vous la qualité du code ?
    Qu'il est codé de façon à emmerder les psycho-rigides uniquement. Les amateurs auront beaucoup de facilité à le comprendre par rapport à ceux ayant tendance à péter une durite si une ligne a le malheur de compter 81 caractères

    Evitez de trainer sur des sources de logiciels chinois, ils vont vous tuer

  6. #6
    Expert éminent Avatar de marsupial
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2014
    Messages
    1 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2014
    Messages : 1 760
    Points : 7 183
    Points
    7 183
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /*============================================================================
       Contrôle de la signature
       la presence d'un commentaire dans la fonction permet de récupérer la valeur
       de la signature dans la compilation sous GCOS
      ============================================================================*/
    J'ai tilté sur GCOS...

    wiki GCOS
    extrait :
    Les programmes sur ce système d'exploitation sont généralement écrits en COBOL, Fortran (voire ALGOL), et maintenant Java.
    Et ils veulent migrer toute l'administration dans le cloud

    Bon courage !
    Repeat after me
    Le monsieur lutte pour la défense des libertés individuelles et collectives

    Repeat after me...

  7. #7
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par Stérilux Voir le message
    Qu'il est codé de façon à emmerder les psycho-rigides uniquement. Les amateurs auront beaucoup de facilité à le comprendre par rapport à ceux ayant tendance à péter une durite si une ligne a le malheur de compter 81 caractères
    Il est codé comme il y a 20 ans. C'est pas une histoire d'être psycho-rigide mais d'être propre et pro. Il y a une foultitude d'outils dans tous les langages pour gérer ça de manière automatique.

    Des fichiers sources de 2000 lignes on se fout de qui sérieux ?

    Ce qui me choque beaucoup c'est les 12 commits et le zéro tags, comme pour Parcoursup. Donc soit ils utilisent un SCM exotique ou obsolète en interne soit pire ils n'en utilisent pas et ils ont passé une version x de leur code sous git à cause de l'obligation légale de publier mais ce n'est pas leur base de travail.

    Donc ça n'a aucune utilité.

    Ce dont on a besoin c'est de savoir quel est le tag précis qui est utilisé pour calculer la taxe d'habitation de tel exercice et de pouvoir contribuer au code. L'état aurait tout à gagner à réellement opensourcer leurs logiciels, mais comme ils savent déjà pas utiliser git on peut se dire que le chemin pour gérer un projet en opensource est vraiment très long.

    La constante inquiétante c'est que de projet en projet toujours fait complètement à l'arrache avec des pratiques du siècle dernier.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Ce qui me choque beaucoup c'est les 12 commits et le zéro tags, comme pour Parcoursup. Donc soit ils utilisent un SCM exotique ou obsolète en interne soit pire ils n'en utilisent pas et ils ont passé une version x de leur code sous git à cause de l'obligation légale de publier mais ce n'est pas leur base de travail.
    C'est la version 2017 uniquement, il n'était pas ouvert PENDANT son développement, il a été sorti sur github après coup (il faut éviter les pull-requests des gens qui veulent mettre tout à 0 pour leur ville :p )
    EDIT: j'avais mal lu la suite du message

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    On est proche de ce qu'on retrouve dans le milieu bancaire. Je suis un peu interloque par le manque de cohérence/consistance du code: un peu de camel case, un peu de lower case, la fonction cherche_Erreur qui contient toutes les constantes qui, n’étant déclarés nul part ailleurs, sont utilises en 'dur', pas de logique (en tout cas documentée) sur la numérotation des erreurs, ... On retrouve cette inconsistance dans les commits: tantôt en anglais, tantôt en français...
    Bref pas glorieux, pour moi ce code transpire le manque de revue et par conséquence je n'ai pas foncièrement confiance en cet outil.

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2016
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2016
    Messages : 373
    Points : 1 335
    Points
    1 335
    Par défaut
    Citation Envoyé par Michael Guilloux Voir le message
    Que pensez-vous de l'ouverture du code source du calculateur de la taxe d'habitation ?
    C'est une très bonne chose.

    Citation Envoyé par Michael Guilloux Voir le message
    Avez-vous parcouru le code source ? Qu'en dites-vous ?
    Les noms des variables semble étrange au premier abords, mais pas dénuée de logique quant on à quelques connaissance sur le sujet. Y'a beaucoup de commentaire et la manière de les mettre en place ne sont pas forcément les choix que j'aurais fait, mais honnêtement pour avoir repris des logiciels sans commentaire, ou juste le strict minimum, ici c'est le paradis !
    Dans l'ensemble d'un avis personnel, je trouve le code clair et lisible. En voyant les commentaires et ce qui été dit ici, je m'attendais à un truc imbitable. Alors que non.

    Les règles de nommage ne sont certes pas suivis, plusieurs personnes on visiblement travailler sur le projet sans s'accorder à 100% sur les manières de faire. Mais dans l'ensemble le code est lisible et propre, alors pourquoi faire polémique parce que les règles de nommage ne sont pas suivis ? La lecture n'en est pas rendu plus compliqué.
    J'ai plus l'impression de voir des grammarnazi qui s'amuse à relever de manière plus ou moins agressive la moindre faute qu'ils vont trouvés pour faire valoir qu'ils sont supérieur. Mais façon codeur.

    Citation Envoyé par Michael Guilloux Voir le message
    Comment pourrait-on expliquer la qualité du code ?
    Plusieurs personnes qui on travailler sur le projet. Potentiellement des stagiaires par ailleurs. Reste qu'après il faut aussi connaitre le management de l'équipe, le cahiers des charges, le temps alloué, savoir si les commentaires on été mis sur le coup ou après les dev, la précision du cahier des charges aussi, ect... Difficile de donner une réelle réponses au final.

  11. #11
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Pour la qualité du code voila mon avis :

    Pour les points positif :
    -l'indentation du code est très propre (j'apprécie beaucoup le Style Allman)
    -ils respectent une certaine 'modularité' , il y'a beaucoup de petite fonction
    -il y a une gestion des erreurs (mais sûrement pas assez exhaustive )
    -le code est relativement lisible
    -Il y a des commentaires

    Alors les points négatives :
    -les noms de variables , des fonctions et mêmes des fichiers .c et .h (tout en majuscule) ...
    -je déteste les parenthèses pour les return
    -des nombres magiques pour les return
    -des variables global qui ne sont pas indispensable 'apparemment' (sauf s'il font un extern )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int limit_plaf = 15;
    
    int Determination_Plaf_Total(long revff)
    {
        if (revff < limit_plaf)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    Autant mettre directement un #define
    Une autre variable global dans le code est particulièrement inquiétante aussi ,mais bref !

    -Un doute sur le choix de leur struct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (p_s8->cndl  == 'O' &&
                   p_e8->codef == ' ' &&
                   p_e8->codeg == ' ' &&
                   p_e8->cnam3 == 'O')
    Et y'en a pas mal comme ça , je pense qu'un string + strcmp aurait était mieux

    Pour continuer voila une de leur structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    typedef struct {
         short   antax;              /*annee campagne taxation (millesime) */
         char    dep[03];            /*code departement                    */
         char    cne[04];            /*code commune de l'aft               */
         s_cole          cole_c;          /*structure entree commune                                         */
         s_cole          cole_q;          /*structure entree intercommunalite                                */
         s_cole          cole_d;          /*structure entree departement                                     */
         s_cole          cole_o;          /*structure entree commune fictive 2003                            */
         s_cole          cole_i;          /*structure entree intercommunalite fictive 2003                   */
         s_cole          cole_p;          /*structure entree departement fictive 2003                        */
         s_cole          cole_f;          /*structure entree commune avant ajustement                        */
         s_cole          cole_j;          /*structure entree commune avant ajustement fictive 2003           */
         s_cole          cole_r;          /*structure entree intercommunalite avant ajustement               */
         s_cole          cole_m;          /*structure entree intercommunalite avant ajustement fictive 2003  */
         char    cocnq;              /*code 1260 mt commune appartenant cu */
         long    abmos;              /*quotite minimale alsace-moselle c   */
         char    codef;              /*code 1260 al-mos rap norm           */
         char    codeg;              /*code 1260 al-mos rang rap           */
         long    vmd89;              /*valeur locative moyenne dom 1989 c  */
         char    cneg3;              /*indic. commune identique en 2003    */
         char    cnqg3;              /*ind. commune appart. meme cu en 2003*/
         char    cnam3;              /*indic. commune regime a-m en 2003   */
         double  timpc;              /*taux imp commune/ifp ...            */
         double  tisyn;              /*taux imp syndicat en c              */
         double  titsn;              /*somme taux imp tse en c             */
         double  tiagn;              /*taux imp agn en c                   */
         double  tig00;              /*taux imposition global 2000         */
         double  timpq;              /*taux imp groupement en c            */
         double  timpd;              /*taux imp dep annee n                */
         double  titgp;              /*taux d'imposition TSE Autre         */
         double  timpe;				 /*taux d'imposition commune/ifp GEMAPI*/
         char    indthlv;            /*code origine de la thlv             */
         char    indgem;             /*Indicateur délibération GEMAPI      */
         char    indmths;            /*Indicateur majoration THS           */
         double  timths;			 /*taux d'imposition majoration THS    */
                     }
    s_e3 ;
    Pourquoi un short ? pourquoi un long ?
    J'allais dire pourquoi un double ,mais j'imagine que quand il est question de taxe , la moindre centime est importante
    Pourquoi des char ? (je comprend que ça arrive de les utiliser) mais autant c'est complètement "inutile" ici ,et le pire c'est que s'ils veulent économiser de la mémoire c'est râpé , a cause de l'alignement mémoire le char prendra un peu plus surtout s'il se trouve dans une structure mélangé comme celle ci.

    -L'algo est relativement simple mais assez arbitraire , vu que c'est un ensemble de 'millier' de if leur code donc je me pose si la résolution de leur probleme a était correct.

  12. #12
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2018
    Messages : 36
    Points : 109
    Points
    109
    Par défaut
    Je suis pour le commentaire français.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 7
    Points
    7
    Par défaut Les flottants
    Les calculs avec des flottants ne donnent pas des résultats précis. Il faudrait utiliser un type qui supporte les nombres décimaux.

  14. #14
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 313
    Points
    313
    Par défaut
    Ceux qui critique la langue dans le code sont juste des types qui veulent péter plus haut que leur cul. Ce code particulièrement, n'est pas destiné à être Internationale, et n'est surement pas maintenu depuis le début par les mêmes personnes, le Français est ce qu'il y a de plus facile à comprendre pour un Français, de même que les mainteneurs suivant ont du faire la même chose pour éviter d'avoir de l'Anglais et du Français, ils ne sont pas payé à reprendre tous le code pour une histoire de langue.
    Par contre, à ce que vous dites, ils n'ont pas repris l'indentation des prédécesseurs, mais surement des développeurs qui ont voulu se la péter en utilisant leur indentation plutôt que de reprendre comme l'existant, quand on travail en équipe, on ne s'amuse pas à reprendre toute l'indentation au risque de ne plus voir les différences fonctionnelles mais au moins on respecte l’homogénéité du code, sinon ça devient bordélique pour les mainteneurs suivants.

    Mais en conclusion, cela ressemble à beaucoup de code qui a vécu et a eu différentes personnes à travers le temps qui sont passé dessus, cela me fait penser à beaucoup de code que j'ai vu et dans divers domaines, ils ne sont pas plus mauvais élève que les autres, ceux qui disent le contraire ne doivent pas avoir beaucoup d'expérience de reprise de code et on surement comme expérience du code parti de zéro et même peut être sans avoir été dans des équipes de taille moyenne à grande sur le long terme, voir même aucune expérience en entreprise où ton chef va te demander pourquoi tu as repris du code existant au lieu de faire les tâches qui t'incombe, le temps que tu passe a reprendre le code avec son lot de risque de bugs, c'est la boite qui paye, c'est pas le monde communautaire ou le temps que tu passe est bénévole, et même si tu veux faire des heures sup pour le faire, ton chef préfèrera quand même que tu le passe à faire des évolutions et corrections identifié et planifié.

  15. #15
    Membre confirmé Avatar de KsassPeuk
    Homme Profil pro
    Ingénieur Chercheur
    Inscrit en
    Juillet 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 138
    Points : 635
    Points
    635
    Par défaut
    Citation Envoyé par Michael Guilloux Voir le message
    Avez-vous parcouru le code source ? Qu'en dites-vous ?
    Moi, je sais pas, j'ai pas lu assez, mais GCC lui, il dit ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ gcc -c *.C
    TH-7KARC.C: In function ‘int cherche_Erreur(int, s_liberreur**)’:
    TH-7KARC.C:1601:5: error: initializer-string for array of chars is too long [-fpermissive]
         };
         ^

  16. #16
    Membre éclairé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Points : 747
    Points
    747
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Il est codé comme il y a 20 ans..
    A mon avis, le code de base doit avoir plus de 20 ans d'âge avec des ajouts ici et là par des personnes différentes et peut-être à des années d'écart... Il faut relativiser un peu et être un peu plus souple.

    Depuis toutes ces années, avez vous constaté des erreurs dans le calcul de votre Taxe d'habitation, un rappel ou quelque chose du genre ? Il y a relativement peu d'erreurs (à notre connaissance bien sur), n'est ce pas là le principal ?

    Bonne journée.

  17. #17
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par valaendra
    Depuis toutes ces années, avez vous constaté des erreurs dans le calcul de votre Taxe d'habitation, un rappel ou quelque chose du genre ? Il y a relativement peu d'erreurs (à notre connaissance bien sur), n'est ce pas là le principal ?
    Depuis quand c'est une option d'avoir un soft qui fonctionne ?

    Citation Envoyé par valaendra
    Il faut relativiser un peu et être un peu plus souple.
    On peut aussi refactorer pour conserver une code base propre et à jour. Évidemment le terme "code base" est pas forcément approprié puisqu'on ne sait pas quelles sont leurs pratiques en terme de gestion de code (pas git en tout cas).

    On parle d'un bien public payé par nos impôts, pas du torchon jetable d'un client lambda développé par des stagiaires de SS2I.

    Citation Envoyé par valaendra
    A mon avis, le code de base doit avoir plus de 20 ans d'âge avec des ajouts ici et là par des personnes différentes et peut-être à des années d'écart...
    C'est précisément parce qu'il doit durer dans le temps et que ça doit être maintenu par un nombre inconnu d'intervenants différents que ça doit être impeccable.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  18. #18
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 469
    Points : 6 102
    Points
    6 102
    Par défaut
    Citation Envoyé par Stérilux Voir le message
    Avez-vous parcouru le code source ? Qu'en dites-vous ?
    Qu'il est plutôt clair.
    Citation Envoyé par Edrixal Voir le message
    Dans l'ensemble d'un avis personnel, je trouve le code clair et lisible.
    Ce code est peut-être clair par rapport au code que vous subissez au quotidien. Par contre, par rapport à du bon code, non, ce code n'est pas clair.

    Dans ce code, le plus gros problème de lisibilité vient du nommage des variables. Je ne parle pas des incohérences entre des majuscules et des minuscules, car ce n'est pas ce qui a le plus d'impact sur la lisibilité du code. Je parle de l'usage abusif des abréviations.

    Parmi les bons principes du développement logiciel, il y en a un qui dit qu'il vaut généralement mieux bien nommer une variable que de mettre un commentaire pour compenser le mauvais nom de la variable.

    Par exemple, dans TH-7KSTS.H, on peut lire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     long somrc ; /* somme a recouvrer                      */
    À la place, il aurait fallu écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     long somme_a_recouvrer;
    Parfois, le commentaire est trop long pour entrer dans le nom de la variable, donc la présence du commentaire peut se justifier. Mais, indépendamment de la présence du commentaire, à moins qu'une variable n'ait une portée très courte, il faut lui donner un nom lisible.

    Quand les variables sont mal nommées, ce qui est trop souvent le cas dans ce code, cela oblige à faire des allers-retours quand on lit le code.

  19. #19
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Citation Envoyé par programmeur94 Voir le message
    Les calculs avec des flottants ne donnent pas des résultats précis. Il faudrait utiliser un type qui supporte les nombres décimaux.
    Ou parler en centimes... c'est souvent la solution la plus simple pour s'affranchir des problèmes de décimales et optimiser ses calculs pour la monnaie.
    On arrive rarement a des sommes sortant d'un entier.

  20. #20
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 125
    Points : 659
    Points
    659
    Par défaut
    Comment pourrait-on expliquer la qualité du code ?
    Au fond leur code n'est pas si mauvais, certes ça ne respecte pas les normes de "bonne pratique" que l'on peut conseiller, mais si on regarde la construction ils ont simplement fait un algo avec des outils mathématique afin d'établir les règles de calcul, et l'on bêtement repris dans du code pour l'automatiser. Il y a des améliorations à faire mais ça reste lisible et mathématiquement compréhensible.

Discussions similaires

  1. Nokia publie le code source de Nokia X Plate-forme
    Par Malick dans le forum Android
    Réponses: 0
    Dernier message: 14/03/2014, 23h32
  2. Réponses: 17
    Dernier message: 25/07/2013, 23h59
  3. Réponses: 3
    Dernier message: 20/11/2011, 00h05
  4. Réponses: 0
    Dernier message: 15/11/2011, 12h18

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