Eviter les bugs dans votre programme C ++

Ne pas démarrer le débogage de votre code jusqu'à ce que vous retirez ou au moins comprendre toutes les avertissements générés lors de la compilation. Permettre à tous les messages d'avertissement, puis si vous les ignorez vous sert à rien. Si vous ne comprenez pas l'avertissement, regarder vers le haut. Qu'est-ce que vous ne savez pas sera

Sommaire

te faire du mal.

Adopter un style clair et cohérent de codage

Codage dans un style clair et cohérent non seulement améliore la lisibilité du programme, mais entraîne également moins d'erreurs de codage. Rappelez-vous, la puissance du cerveau moins vous avez à dépenser déchiffrer la syntaxe C ++ de, plus vous avez laissé plus de réflexion sur la logique du programme à portée de main. Un bon style de codage permet de faire ce qui suit avec facilité:

  • Différencier les noms de classes, les noms d'objets, et les noms de fonctions
  • Savoir quelque chose sur l'objet en fonction de son nom
  • Différencier les symboles de préprocesseur de symboles C ++ (qui est, objets #defined doit se démarquer)
  • Identifier les blocs de code C de au même niveau (ce qui est le résultat d'indentation cohérente)

En outre, vous devez établir une tête de module standard qui fournit des informations sur les fonctions ou des classes dans le module, l'auteur (sans doute, que vous), la date, la version du compilateur que vous utilisez, et une histoire de modification.

Enfin, tous les programmeurs impliqués dans un même projet doivent utiliser le même style. Essayer de déchiffrer un programme avec un patchwork de styles différents de codage est source de confusion.

Commentaire votre code comme vous l'écrivez

Vous pouvez éviter les erreurs si vous commentez votre code pendant que vous écrivez plutôt que d'attendre jusqu'à ce que tout fonctionne et puis revenir en arrière et ajouter des commentaires. Ne pas prendre le temps d'écrire têtes volumineuses et les descriptions de fonction plus tard est compréhensible, mais vous avez toujours le temps pour ajouter des commentaires courts lors de l'écriture du code.




Courts commentaires doivent être éclairant. Si ils ne sont pas, ils ne valent pas beaucoup plus et vous devriez être en train de faire quelque chose d'autre à la place. Vous avez besoin de toute l'illumination vous pouvez obtenir pendant que vous essayez de faire de votre programme de travail. Quand vous regardez un morceau de code que vous avez écrit il ya quelques jours, des commentaires qui sont courts, descriptifs, et au point peut apporter une contribution considérable à vous aider à comprendre exactement ce qu'il était que vous essayiez de faire.

En outre, l'indentation du code et des conventions de nommage cohérentes rendre le code plus facile à comprendre. Tout est très agréable lorsque le code est facile à lire après vous avez terminé avec elle, mais il est tout aussi important que le code soit facile à lire pendant que vous l'écrire. Voilà quand vous avez besoin de l'aide.

Simple étape chaque chemin au moins une fois

En tant que programmeur, il est important pour vous de comprendre ce que fait votre programme. Rien ne vous donne une meilleure idée de ce qui se passe sous le capot de mode pas à pas le programme avec un bon débogueur. (Les débogueurs inclus dans l'IDE de compilateurs interactifs fonctionnent très bien.)

Au-delà de ce que, comme vous écrivez un programme, vous avez parfois besoin de matières premières à comprendre certains comportements bizarres. Rien ne vous donne que le matériel mieux que seule l'intensification de nouvelles fonctions comme ils viennent en service.

Enfin, lorsqu'une fonction est fini et prêt à être ajoutés au programme, chaque chemin logique doit être parcourue au moins une fois. Bugs sont beaucoup plus faciles à trouver quand la fonction est examiné par elle-même plutôt que après qu'il a été jeté dans le pot avec le reste des fonctions - et votre attention est allé à de nouveaux défis en matière de programmation.

Évitez de surcharger les opérateurs

Autre que les opérateurs utilisant deux flux d'E / S operatorlt; lt; () et operator >> () et l'opérateur d'affectation operator = (), vous devriez probablement repousser la surcharge des opérateurs jusqu'à ce que vous sentez à l'aise avec C ++. Bien que un bon ensemble d'opérateurs surchargés peut accroître l'utilité et la lisibilité d'une nouvelle classe, la surcharge des opérateurs (autres que les trois viennent d'être énumérés) est presque jamais nécessaire et peut ajouter de manière significative à vos malheurs de débogage comme un nouveau programmateur. Vous pouvez obtenir le même effet en définissant et en utilisant les fonctions propres membres du public à la place.

Une fois que vous avez été C-Plus-Plussing pendant quelques mois, se sentir libre de revenir et commencer à surcharger les opérateurs au contenu de votre coeur.

Manutention équilibre de tas

Généralement, les programmeurs devraient allouer et libérer de la mémoire de tas au même "niveau". Si une fonction de membre MyClass :: create () alloue un bloc de mémoire de tas et il retourne à l'appelant, puis il devrait y avoir une fonction de membre MyClass :: release () qui renvoie la mémoire dans le tas. Plus précisément, MyClass :: create () ne devrait pas exiger la fonction de parent pour libérer la mémoire elle-même. Ce ne certainement pas éviter tous les problèmes de mémoire - la fonction de parent peut oublier d'appeler MyClass :: release () - mais il fait réduire quelque peu la possibilité.

Utilisez des exceptions pour gérer les erreurs

Le mécanisme d'exception en C ++ est conçu pour gérer les erreurs facilement et efficacement. Maintenant que cette fonctionnalité a été normalisé, vous devez l'utiliser. Le code résultant est plus facile à écrire, plus facile à lire, et plus facile à entretenir. En outre, d'autres programmeurs ont appris à nous attendre - vous ne voudriez pas les décevoir, souhaitez-vous?

Évitez l'héritage multiple

L'héritage multiple, comme la surcharge d'opérateur, ajoute un autre niveau de complexité que vous ne devez pas traiter avec quand vous êtes débutant. Heureusement, la plupart des relations du monde réel peuvent être décrits avec l'héritage unique.

Sentez-vous libre d'utiliser des classes multiples-hérité de bibliothèques commerciales, telles que les classes MFC Microsoft. Microsoft a passé un temps considérable à la mise en place ses classes, et il sait ce qu'il fait.

Après vous vous sentez à l'aise avec votre niveau de compréhension du C ++, l'expérience avec la mise en place des multiples hiérarchies d'héritage. De cette façon, vous serez prêt si vous en avez besoin.


» » » » Eviter les bugs dans votre programme C ++