Contexte / scénario
J'ai commencé à écrire une application CLI uniquement en C (mon premier programme C ou C ++ approprié qui n'était pas "Hello World" ou une variante de celui-ci). Vers la mi-parcours, je travaillais avec des "chaînes" d'entrée utilisateur (tableaux de caractères) et j'ai découvert l'objet streamer de chaîne C ++. J'ai vu que je pouvais enregistrer du code en les utilisant, alors je les ai utilisés via l'application. Cela signifie que j'ai changé l'extension de fichier en .cpp et maintenant compiler l'application avec g++
au lieu de gcc
. Donc, sur cette base, je dirais que l'application est maintenant techniquement une application C ++ (bien que 90% + du code soit écrit dans ce que j'appellerais C, car il y a beaucoup de croisement entre les deux langues étant donné mon expérience limitée de les deux). Il s'agit d'un seul fichier .cpp d'environ 900 lignes.
Facteurs importants
Je veux que le programme soit gratuit (comme en argent) et librement distribuable et utilisable par tous. Ma préoccupation est que quelqu'un regarde le code et réfléchisse à quelque chose comme:
Oh regardez le codage, c'est affreux, ce programme ne peut pas m'aider
Quand c'est potentiellement possible! Une autre question est que le code est efficace (c'est un programme pour tester la connectivité Ethernet). Aucune partie du code ne doit être si inefficace qu'elle peut gravement nuire aux performances de l'application ou de sa sortie. Cependant, je pense que c'est une question pour Stack Overflow lorsque vous demandez de l'aide avec des fonctions, des méthodes, des appels d'objet spécifiques, etc.
Ma question
Ayant (à mon avis) mélangé C et C ++ où je ne devrais peut-être pas. Dois-je chercher à tout réécrire en C ++ (par cela, je veux dire implémenter plus d'objets et de méthodes C ++ où j'ai peut-être codé quelque chose dans un style C qui peut être condensé en utilisant des techniques C ++ plus récentes), ou supprimer l'utilisation d'objets streamer de chaîne et tout ramener "en arrière" au code C? Y a-t-il une approche correcte ici? Je suis perdu et j'ai besoin de conseils sur la façon de garder cette application «bonne» aux yeux des masses, donc ils vont l'utiliser et en bénéficier.
Le code - mise à jour
Voici un lien vers le code. Il s'agit d'environ 40% de commentaires, je commente presque toutes les lignes jusqu'à ce que je me sente plus fluide. Dans la copie à laquelle j'ai lié, j'ai supprimé à peu près tous les commentaires. J'espère que cela ne rend pas la lecture trop difficile. J'espère cependant que personne ne devrait avoir besoin de bien le comprendre. Si j'ai fait des défauts de conception fatals, j'espère qu'ils devraient être facilement identifiables. Je dois également mentionner que j'écris quelques ordinateurs de bureau et ordinateurs portables Ubuntu. Je n'ai pas l'intention de porter le code sur d'autres systèmes d'exploitation.
LICENSE
fichier. Vous pourriez obtenir des commentaires intéressants.