พื้นหลัง / สถานการณ์
ฉันเริ่มเขียนแอปพลิเคชัน CLI อย่างหมดจดใน C (โปรแกรม C หรือ C ++ ที่เหมาะสมครั้งแรกของฉันที่ไม่ใช่ "Hello World" หรือรูปแบบอื่น ๆ ของมัน) ประมาณครึ่งทางผ่านฉันทำงานกับ "สตริง" ของอินพุตของผู้ใช้ (อาร์เรย์อาร์เรย์) และฉันค้นพบวัตถุลำแสงสตริง C ++ ฉันเห็นว่าฉันสามารถบันทึกรหัสโดยใช้สิ่งเหล่านี้ได้ดังนั้นฉันจึงใช้มันผ่านแอปพลิเคชัน ซึ่งหมายความว่าฉันมีการเปลี่ยนแปลงนามสกุลไฟล์ที่จะ .cpp และตอนนี้รวบรวม app กับแทนg++
gcc
ดังนั้นตามนี้ฉันจะบอกว่าแอปพลิเคชันตอนนี้เป็นแอปพลิเคชั่นทางเทคนิค C ++ (แม้ว่า 90% + ของรหัสจะถูกเขียนในสิ่งที่ฉันจะเรียก C เนื่องจากมีการข้ามไปมาระหว่างสองภาษาจำนวนมาก ทั้งสอง). เป็นไฟล์. cpp ไฟล์เดียวยาวประมาณ 900 บรรทัด
ปัจจัยสำคัญ
ฉันต้องการให้โปรแกรมฟรี (เป็นเงิน) และสามารถแจกจ่ายได้อย่างอิสระและใช้ได้สำหรับทุกคน ความกังวลของฉันคือใครบางคนจะมองไปที่รหัสและคิดอะไรบางอย่างเพื่อผลของ:
โอ้ดูที่การเข้ารหัสมันแย่มากโปรแกรมนี้ช่วยฉันไม่ได้
เมื่อมันอาจเป็นไปได้! อีกเรื่องหนึ่งคือรหัสที่มีประสิทธิภาพ (เป็นโปรแกรมสำหรับทดสอบการเชื่อมต่ออีเธอร์เน็ต) ไม่ควรมีส่วนใดของรหัสที่ไม่มีประสิทธิภาพจนสามารถขัดขวางประสิทธิภาพของแอปพลิเคชั่นหรือเอาท์พุทได้อย่างรุนแรง อย่างไรก็ตามฉันคิดว่าเป็นคำถามสำหรับ Stack Overflow เมื่อขอความช่วยเหลือเกี่ยวกับฟังก์ชั่นวิธีการโทรวัตถุ ฯลฯ
คำถามของฉัน
มี (ในความคิดของฉัน) ผสม C และ C ++ ที่บางทีฉันไม่ควร ฉันควรจะเขียนมันใหม่ทั้งหมดใน C ++ (โดยสิ่งนี้ฉันหมายถึงการใช้วัตถุและวิธีการ C ++ เพิ่มเติมซึ่งบางทีฉันได้เขียนอะไรบางอย่างในรูปแบบ C ที่สามารถควบแน่นโดยใช้เทคนิค C ++ ที่ใหม่กว่า) หรือลบการใช้ นำทุกอย่าง "ย้อนกลับ" เป็นรหัส C หรือไม่ มีวิธีที่ถูกต้องที่นี่? ฉันหลงทางและต้องการแนวทางในการรักษาแอปพลิเคชันนี้ "ดี" ในสายตาของมวลชนดังนั้นพวกเขาจะใช้มันและได้รับประโยชน์จากมัน
รหัส - อัปเดต
นี่คือลิงค์ไปยังรหัส มันเป็นความเห็นประมาณ 40% ฉันแสดงความคิดเห็นเกือบทุกบรรทัดจนกว่าฉันจะรู้สึกคล่องแคล่วมากขึ้น ในสำเนาที่ฉันเชื่อมโยงไว้ฉันได้ลบความคิดเห็นทั้งหมดค่อนข้างมาก ฉันหวังว่านี่จะไม่ทำให้อ่านยากเกินไป ฉันหวังว่าจะไม่มีใครจำเป็นต้องเข้าใจอย่างถ่องแท้ ถ้าฉันได้ออกแบบข้อบกพร่องร้ายแรงฉันหวังว่าพวกเขาควรจะพิสูจน์ได้ง่าย ฉันควรพูดถึงฉันกำลังเขียนเดสก์ท็อปและแล็ปท็อป Ubuntu สองตัว ฉันไม่ได้ตั้งใจจะย้ายรหัสไปยังระบบปฏิบัติการอื่น
LICENSE
ไฟล์ คุณอาจได้รับข้อเสนอแนะที่น่าสนใจ