ฉันมีพื้นหลัง Java / Groovy ที่แข็งแกร่งและฉันได้รับมอบหมายให้ทำงานกับทีมที่ดูแลฐานรหัส C ที่ค่อนข้างใหญ่สำหรับซอฟต์แวร์การดูแลระบบ
บางจุดปวดเช่นการจัดการกับหยดในฐานข้อมูลหรือการสร้างรายงานใน PDF และ Excel ได้รับการส่งไปยังบริการเว็บ java
อย่างไรก็ตามในฐานะที่เป็น Java dev ฉันรู้สึกสับสนเล็กน้อยกับบางส่วนของรหัส:
- มันเป็น verbose (โดยเฉพาะอย่างยิ่งเมื่อจัดการกับ 'ข้อยกเว้น')
- มีวิธีการขนาดใหญ่มากมาย (วิธีการ 2000 + บรรทัดหลายวิธี)
- ไม่มีโครงสร้างข้อมูลขั้นสูง (ฉันพลาดรายการตั้งค่าและแผนที่เป็นจำนวนมาก)
- ไม่มีการแยกข้อกังวล (SQL ผสมปนเปกันอย่างสนุกสนาน)
ด้วยเหตุนี้ฉันจึงรู้สึกว่าธุรกิจถูกซ่อนอยู่ในรหัสทางเทคนิคและสมองของฉันที่ถูกสร้างขึ้นด้วย Object Oriented และการเขียนโปรแกรมเชิงฟังก์ชั่น
ข้อดีของโครงการคือรหัสตรงไปตรงมา: ไม่มีเฟรมเวิร์กไม่มีการจัดการโค้ดไบต์ที่รันไทม์ไม่มี AOP และเซิร์ฟเวอร์สามารถตอบผู้ใช้มากกว่า 10,000 คนพร้อมกันด้วยเครื่องเดียวโดยใช้หน่วยความจำน้อยกว่าจาวาต้องคาย "hello world"
ฉันต้องการเรียนรู้วิธีการเขียนรหัส C ตามหลักการสมัยใหม่ที่เป็นที่ยอมรับกันทั่วไป มีหลักการใด ๆ ที่เป็นที่ยอมรับกันโดยทั่วไปเกี่ยวกับวิธีการเขียนและโครงสร้าง C ที่ทันสมัย?
บางสิ่งบางอย่างคล้ายกับหนังสือ 'Effective Java' แต่สำหรับ C
แก้ไขเมื่อมีแสงสว่างของคำตอบและความคิดเห็น:
- ฉันจะพยายามปรับความคิดของฉันให้เป็นรหัส C และไม่ลองสะท้อนกับ OOP
- ฉันเริ่มสแกน - อ่านคู่มือการเขียนโค้ดสไตล์ที่แนะนำจากความคิดเห็น (มาตรฐานการเข้ารหัสของ GNU และสไตล์การเข้ารหัสเคอร์เนล Linux)
- จากนั้นฉันจะพยายามเสนอสไตล์รหัสนี้ให้เพื่อนร่วมงานของฉัน ส่วนที่ยากที่สุดคือการโน้มน้าวให้เพื่อนร่วมงานทราบว่าวิธีการขนาดใหญ่สามารถแบ่งเป็นส่วนเล็ก ๆ และการทำซ้ำรหัสข้อผิดพลาด 4 บรรทัดเดียวกันนั้นสามารถหลีกเลี่ยงได้ด้วยความช่วยเหลือของวิธีการ