Hintergrund / Szenario
Ich habe angefangen, eine CLI-Anwendung nur in C zu schreiben (mein erstes richtiges C- oder C ++ - Programm, das nicht "Hello World" oder eine Variation davon war). Ungefähr in der Mitte arbeitete ich mit "Strings" von Benutzereingaben (char-Arrays) und entdeckte das C ++ - String-Streamer-Objekt. Ich habe gesehen, dass ich mit diesen Code speichern kann, also habe ich sie über die Anwendung verwendet. Dies bedeutet, dass ich die Dateierweiterung in .cpp geändert habe und jetzt die App mit g++
anstelle von kompiliere gcc
. Auf dieser Grundlage würde ich sagen, dass die Anwendung jetzt technisch gesehen eine C ++ - Anwendung ist (obwohl 90% + des Codes in dem geschrieben sind, was ich C nennen würde, da es aufgrund meiner begrenzten Erfahrung mit beiden Sprachen viele Überschneidungen gibt die Zwei). Es ist eine einzelne CPP-Datei mit einer Länge von etwa 900 Zeilen.
Wichtige Faktoren
Ich möchte, dass das Programm kostenlos (wie in Geld) und frei verteilbar und für alle nutzbar ist. Ich mache mir Sorgen, dass sich jemand den Code ansieht und etwas überlegt, um Folgendes zu bewirken:
Oh, sieh dir die Codierung an, es ist schrecklich, dieses Programm kann mir nicht helfen
Wenn es möglich sein könnte! Eine andere Sache ist, dass der Code effizient ist (es ist ein Programm zum Testen der Ethernet-Konnektivität). Es sollten keine Teile des Codes vorhanden sein, die so ineffizient sind, dass sie die Leistung der Anwendung oder ihre Ausgabe erheblich beeinträchtigen können. Ich denke jedoch, dass dies eine Frage für den Stapelüberlauf ist, wenn Sie um Hilfe bei bestimmten Funktionen, Methoden, Objektaufrufen usw. bitten.
Meine Frage
Ich habe (meiner Meinung nach) C und C ++ gemischt, wo ich es vielleicht nicht sollte. Sollte ich versuchen, alles in C ++ neu zu schreiben (damit meine ich, mehr C ++ - Objekte und -Methoden zu implementieren, bei denen ich möglicherweise etwas in einem C-Stil codiert habe, das mit neueren C ++ - Techniken komprimiert werden kann), oder die Verwendung von String-Streamer-Objekten und entfernen alles "zurück" zum C-Code bringen? Gibt es hier einen richtigen Ansatz? Ich bin verloren und brauche eine Anleitung, wie ich diese Anwendung in den Augen der Massen "gut" halten kann, damit sie sie nutzen und davon profitieren können.
Der Code - Update
Hier ist ein Link zum Code. Es sind ca. 40% Kommentare, ich kommentiere fast jede Zeile, bis ich mich fließender fühle. In der Kopie, auf die ich verlinkt habe, habe ich so ziemlich alle Kommentare entfernt. Ich hoffe, das macht es nicht zu schwer zu lesen. Ich hoffe jedoch, dass niemand es vollständig verstehen muss. Wenn ich jedoch schwerwiegende Designfehler gemacht habe, hoffe ich, dass sie leicht zu identifizieren sind. Ich sollte auch erwähnen, dass ich ein paar Ubuntu-Desktops und -Laptops schreibe. Ich beabsichtige nicht, den Code auf andere Betriebssysteme zu portieren.
LICENSE
Datei. Möglicherweise erhalten Sie interessantes Feedback.