Latar Belakang / Skenario
Saya mulai menulis aplikasi CLI murni dalam C (program C atau C ++ pertama saya yang tepat yang bukan "Hello World" atau variasi daripadanya). Sekitar pertengahan saya bekerja dengan "string" input pengguna (array char) dan saya menemukan objek streamer string C ++. Saya melihat bahwa saya dapat menyimpan kode menggunakan ini, jadi saya menggunakannya melalui aplikasi. Ini berarti bahwa saya telah mengubah ekstensi file menjadi .cpp dan sekarang kompilasi aplikasi dengan g++
bukan gcc
. Jadi berdasarkan ini, saya akan mengatakan aplikasi ini sekarang secara teknis aplikasi C ++ (walaupun 90% + dari kode ditulis dalam apa yang saya sebut C, karena ada banyak persilangan antara dua bahasa mengingat pengalaman saya yang terbatas keduanya). Ini adalah file .cpp tunggal dengan panjang sekitar 900 baris.
Faktor Penting
Saya ingin program ini gratis (seperti dalam uang) dan dapat didistribusikan secara bebas dan dapat digunakan semua orang. Kekhawatiran saya adalah bahwa seseorang akan melihat kode dan memikirkan sesuatu untuk efek:
Oh, lihat kodenya, mengerikan, program ini tidak bisa membantu saya
Kapan berpotensi itu bisa! Masalah lainnya adalah kode menjadi efisien (ini adalah program untuk menguji konektivitas Ethernet). Seharusnya tidak ada bagian dari kode yang sangat tidak efisien sehingga dapat sangat menghambat kinerja aplikasi atau outputnya. Namun, saya pikir itu adalah pertanyaan untuk Stack Overflow ketika meminta bantuan dengan fungsi, metode, panggilan objek tertentu, dll.
Pertanyaan saya
Memiliki (menurut saya) campuran C dan C ++ di mana mungkin saya tidak boleh. Haruskah saya melihat untuk menulis ulang semuanya dalam C ++ (dengan ini, maksud saya mengimplementasikan lebih banyak objek C ++ dan metode di mana mungkin saya telah mengkodekan sesuatu dalam gaya C yang dapat dikondensasi menggunakan teknik C ++ yang lebih baru), atau menghapus penggunaan objek string streamer dan bawa semuanya "kembali" ke kode C? Apakah ada pendekatan yang benar di sini? Saya tersesat dan memerlukan beberapa panduan tentang cara menjaga aplikasi ini "Baik" di mata massa, sehingga mereka akan menggunakannya dan mendapat manfaat darinya.
Kode - Pembaruan
Berikut ini tautan ke kode tersebut. Sekitar 40% komentar, saya berkomentar hampir setiap baris sampai saya merasa lebih lancar. Dalam salinan yang saya tautkan, saya telah menghapus hampir semua komentar. Saya harap ini tidak membuatnya terlalu sulit untuk dibaca. Namun saya berharap tidak ada yang perlu memahaminya sepenuhnya. Jika saya telah membuat kesalahan desain yang fatal, saya berharap itu dapat diidentifikasi dengan mudah. Saya juga harus menyebutkan, saya menulis beberapa desktop dan laptop Ubuntu. Saya tidak bermaksud untuk porting kode ke sistem operasi lain.
LICENSE
file. Anda mungkin mendapatkan umpan balik yang menarik.