Предпосылки / Сценарий
Я начал писать CLI-приложение исключительно на C (моя первая настоящая программа на C или C ++, которая не была «Hello World» или ее разновидностью). Примерно на полпути я работал со «строками» пользовательского ввода (массивами символов) и обнаружил объект C ++ string streamer. Я видел, что я могу сохранить код, используя их, поэтому я использовал их через приложение. Это означает, что я изменил расширение файла на .cpp и теперь скомпилирую приложение g++
вместо gcc
. Исходя из этого, я бы сказал, что приложение теперь технически является приложением C ++ (хотя более 90% кода написано на том, что я бы назвал C, так как между этими двумя языками существует много перекрестных связей, учитывая мой ограниченный опыт два). Это один файл .cpp длиной около 900 строк.
Важные факторы
Я хочу, чтобы программа была бесплатной (как в деньгах), свободно распространяемой и доступной для всех. Меня беспокоит то, что кто-то посмотрит на код и подумает о чем-то таком:
О, посмотрите на кодирование, это ужасно, эта программа не может мне помочь
Когда потенциально это возможно! Другое дело, насколько эффективен код (это программа для тестирования Ethernet-подключения). Не должно быть частей кода, которые были бы настолько неэффективными, что могли бы серьезно снизить производительность приложения или его вывода. Тем не менее, я думаю, что это вопрос переполнения стека при обращении за помощью с конкретными функциями, методами, вызовами объектов и т. Д.
Мой вопрос
Смешивать (по моему мнению) C и C ++ там, где, возможно, я не должен. Стоит ли мне переписать все это на C ++ (под этим я подразумеваю реализацию большего количества объектов и методов C ++, где, возможно, я написал что-то в стиле C, которое можно сжать с использованием более новых методов C ++), или исключу использование объектов string streamer и принести все это "обратно" в C-код? Есть ли правильный подход здесь? Я заблудился и нуждаюсь в некотором руководстве о том, как сохранить это приложение «Добрым» в глазах масс, чтобы они использовали его и извлекали из него пользу.
Код - Обновление
Вот ссылка на код. Это около 40% комментариев, я комментирую почти каждую строку, пока не почувствую себя более свободно. В той копии, на которую я ссылался, я удалил почти все комментарии. Я надеюсь, что это не делает это слишком трудным для чтения. Однако я надеюсь, что никто не должен полностью понимать это. Если я сделал роковые недостатки дизайна, я надеюсь, что они должны быть легко идентифицируемыми. Я должен также упомянуть, я пишу пару настольных компьютеров и ноутбуков Ubuntu. Я не собираюсь переносить код на другие операционные системы.
LICENSE
файл. Вы можете получить интересную обратную связь.