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

 C++ Discussion :

Finalisation de code


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de sylvain1984
    Homme Profil pro
    Retraité, développeur amateur
    Inscrit en
    Juillet 2023
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité, développeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 75
    Par défaut Finalisation de code
    Bonjour,

    J'ai débuté il y a 2 ans pour une association dont je fais partie un logiciel qui se voulait petit. Le cœur a été fait assez vite mais à mesure que j'avançais j'ai ajouté un bon nombre de fonctionnalités. Donc, il n'y a eu au départ aucune conception. Développeur du dimanche, non pro, j'ai appris à mesure des besoins.

    Le périmètre fonctionnel est désormais quasiment bouclé. Il y aurait bien deux ou trois choses à faire encore mais je pense que ça peut attendre.

    Une version est déjà utilisée "en production" depuis 6 mois sans soucis.

    J'ai désormais pour ambition de sécuriser un peu le code (C++, Qt 6.4.2). Il n'y a aucune gestion des exceptions, ni utilisation des pointeurs intelligents. Il n'y a pas non plus un seul bout de code pour les tests.

    Que me conseillez-vous de faire ? J'ai bien envie déjà de gérer les potentielles exceptions que pourraient envoyer les new.


    Sylvain

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 765
    Par défaut
    Les exceptions de new, c'est franchement le dernier des problèmes. De toute manière, Qt n'est à ma connaissance pas résistant aux exceptions. C’est-à-dire que les objets peuvent être dans un état indéterminé après une exception. En règle générale, il n'y a pas grand chose à faire quand la mémoire vient à manquer.

    Le mieux est de commencer par faire des tests unitaires puis/et d'intégrations. Mais quand le projet n'est pas pensé pour, un découpage est souvent nécessaire.

    Il faut aussi mettre en place une CI qui compile et lance les tests à chaque modification ainsi que des outils d'analyses statique et dynamique: clang-tidy et autre, valgrind, les sanitizers des compilateurs, les modes debug, assertion ou Hardening de la STL.

    Sans oublier de blinder la compilation avec le plus de warnings possible activés. Bien que les nouveaux avertissements soit généralement activés par défaut, ce n'est pas le cas de beaucoup des anciens qui sont pourtant nombreux. -Wall -Wextra n'active pas tout ! Je mettais fait un projet pour activer plein de warning: https://github.com/jonathanpoelen/cpp-compiler-options/.

  3. #3
    Membre éclairé
    Avatar de sylvain1984
    Homme Profil pro
    Retraité, développeur amateur
    Inscrit en
    Juillet 2023
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité, développeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 75
    Par défaut
    Bonjour et merci pour votre réponse !

    Bien vu pour les tests unitaires. Ils font partie des techniques que je souhaite apprendre et il est temps de m'y mettre.
    Il existerait un tuto pour s'y mettre ?

    Il faut aussi mettre en place une CI
    Bien sûr, aucun souci... mais c'est quoi une CI ?

    Sylvain

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 158
    Billets dans le blog
    152
    Par défaut
    Bonjour,

    CI pour Continuous Integration. Cela correspond à mettre en place une infrastructure (elle peut être simple et sans coût) pour effectuer des tâches de manières régulières, notamment l'exécution des tests et la génération d'exécutable de manière automatisée et, généralement, à chaque mise à jour du code du projet. Un exemple pour une telle mise en place et d'utiliser Jenkins (une introduction est disponible ici).

    Maintenant, même si je suis défenseur de la mise en place d'intégration continue pour un projet, je me suis aussi demandé si pour votre cas, cela ne serait pas trop lourd (inévitablement, cela prend du temps).
    En même temps, j'ai parlé de Jenkins, sous entendu, hébergé sur vos propres machines, mais certains hébergeur de code propose des solutions similaires et gratuites pour les projets open source.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Finalisation et correction d'un code image au survol d'un texte
    Par patpierre dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 11/11/2015, 10h23
  2. Aide pour finaliser un code
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/11/2013, 08h38
  3. [XL-2013] Finalisation code Export Ecel -> Tache Outlook
    Par d.deneys dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2013, 15h21
  4. [XL-2007] Aide pour finaliser un code
    Par eliot.raymond dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 21/05/2009, 13h56
  5. Finalisation de couleur dans un code JavaScript
    Par Gunner4902 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/11/2007, 18h02

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