Передісторія / сценарій
Я почав писати додаток CLI суто в C (моя перша правильна програма C або C ++, яка не була "Hello World" або її варіацією). Приблизно на середині я працював із "рядками" введення користувача (масиви char), і я виявив об'єкт стримерного струму C ++. Я бачив, що я можу зберегти код за допомогою цих, тому використовував їх через додаток. Це означає, що я змінив розширення файлу на .cpp і тепер компілюю додаток g++замість gcc. Отже, виходячи з цього, я б сказав, що програма тепер технічно є додатком C ++ (хоча 90% + коду написано в тому, що я б назвав C, оскільки між двома мовами існує багато перехресних даних, враховуючи мій обмежений досвід роботи два). Це один .cpp-файл довжиною близько 900 рядків.
Важливі фактори
Я хочу, щоб програма була безкоштовною (як у грошах) і вільно розповсюджувалась та була корисною для всіх. Мене хвилює те, що хтось подивиться на код і щось подумає про це:
О, подивіться на кодування, це жахливо, ця програма не може мені допомогти
Коли потенційно це могло! Інша справа - ефективність коду (це програма для тестування підключення до Ethernet). Не повинно бути частин коду, які є настільки неефективними, що можуть сильно перешкоджати роботі програми або її виводу. Однак я вважаю, що це питання для переповнення стека, коли він звертається за допомогою до конкретних функцій, методів, викликів об'єктів тощо.
Моє запитання
Склавши (на мою думку) змішані C та C ++ там, де, можливо, я не повинен. Чи слід шукати, щоб переписати все це на C ++ (маючи на увазі, я маю на увазі реалізувати більше C ++ об’єктів та методів, де, можливо, я зашифрував щось у стилі C, яке можна скоротити за допомогою новіших методів C ++) або видалити використання об'єктів стримерних рядків та повернути це все "назад" до коду С? Чи є тут правильний підхід? Я розгублений і мені потрібні певні вказівки, як зберегти цю програму «Добре» в очах мас, щоб вони її використали та отримали від неї користь.
Код - оновлення
Ось посилання на код. Це приблизно 40% коментарів, я коментую майже кожен рядок, поки не відчуваю себе більш вільним. У примірнику, з яким я посилався, я видалив майже всі коментарі. Я сподіваюся, що це не ускладнює читання. Я сподіваюся, що нікому не потрібно це повністю розуміти. Якщо я зробив фатальні недоліки в дизайні, я сподіваюся, що їх слід легко визначити. Я також повинен зазначити, я пишу пару робочих столів та ноутбуків Ubuntu. Я не збираюся надсилати код до інших операційних систем.
LICENSEфайл. Ви можете отримати цікаві відгуки.