Plusieurs soucis à corriger afin que cette source reste:
- C'est un projet sans exemple. C'est ici une section ou l'on montre un projet compilable entier. Si tu veux que ta source reste, il va falloir faire un petit projet d'exemple pour la présenter.
- Evite les using namespace, surtout dans un header !. Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace - En C++, un header porte l'extension .hh ou .hpp, et non .h (ça se modifie dans les options de ton IDE, certains IDE utilisant le header du C par défaut... les débutants se font souvent avoir). Ca reste une convention, et un .toto fonctionnerait. Mais c'est tout de même mieux d'utiliser le bon.
- Quand on fait une API, celle-ci ne doit pas écrire sur la sortie standard ou d'erreur ! Tu remontes une exception ou un code d'erreur, et tu laisses l'utilisateur afficher le problème s'il le désire. Mais tu ne lui "pourris" pas sa sortie.
- On évite de passer des grosses structures par copie. Je pense notamment au std::vector et std::string tous passés en copie ! Une simple réference constante éviterait de nombreuses copies inutiles...
- Si tu proposes une API C++, ne propose pas de signature C-like. Par exemple, tu ne devrais pas avoir de char* mais des std::string. A noter que si on appelle tes fonctions avec du char* et que ta signature est en std::string, ça "rentrera" dedans sans problème. (Le char* est automatique converti en std::string, lors d'un appel de fonction).
- Il y a un manque de consistance dans tes nommages de fonctions. Un coup c'est en "PascalCase", un coup avec des "_", un coup en "camelCase". Choisie une convention et essaie de t'y tenir. En C++, on utilise du "camelCase" pour les fonctions et du "PascalCase" pour les noms de classe.
- Evite les NULL en C++. Préfère utiliser: "nullptr" si tu es en C++11 ou 0 si tu es en C++03 (classique). Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/null-en-cpp
16 déc. 2014 à 18:28
Modifié par cptpingu le 15/12/2014 à 01:43
Plusieurs soucis à corriger afin que cette source reste:
- C'est un projet sans exemple. C'est ici une section ou l'on montre un projet compilable entier. Si tu veux que ta source reste, il va falloir faire un petit projet d'exemple pour la présenter.
- Evite les using namespace, surtout dans un header !. Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace
- En C++, un header porte l'extension .hh ou .hpp, et non .h (ça se modifie dans les options de ton IDE, certains IDE utilisant le header du C par défaut... les débutants se font souvent avoir). Ca reste une convention, et un .toto fonctionnerait. Mais c'est tout de même mieux d'utiliser le bon.
- Quand on fait une API, celle-ci ne doit pas écrire sur la sortie standard ou d'erreur ! Tu remontes une exception ou un code d'erreur, et tu laisses l'utilisateur afficher le problème s'il le désire. Mais tu ne lui "pourris" pas sa sortie.
- On évite de passer des grosses structures par copie. Je pense notamment au std::vector et std::string tous passés en copie ! Une simple réference constante éviterait de nombreuses copies inutiles...
- Si tu proposes une API C++, ne propose pas de signature C-like. Par exemple, tu ne devrais pas avoir de char* mais des std::string. A noter que si on appelle tes fonctions avec du char* et que ta signature est en std::string, ça "rentrera" dedans sans problème. (Le char* est automatique converti en std::string, lors d'un appel de fonction).
- Il y a un manque de consistance dans tes nommages de fonctions. Un coup c'est en "PascalCase", un coup avec des "_", un coup en "camelCase". Choisie une convention et essaie de t'y tenir. En C++, on utilise du "camelCase" pour les fonctions et du "PascalCase" pour les noms de classe.
- Evite les NULL en C++. Préfère utiliser: "nullptr" si tu es en C++11 ou 0 si tu es en C++03 (classique). Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/null-en-cpp