ฉันคิดว่ามีสองสิ่งที่ต้องพูดถึงและในความเป็นจริงฉันจะพิจารณาแยกจากกันเพราะพวกเขาไม่สามารถเข้าหาในลักษณะเดียวกันแม้ว่าฉันจะพบว่าทั้งสองสิ่งสำคัญ
- ด้านเทคนิค: ซึ่งมีจุดมุ่งหมายเพื่อหลีกเลี่ยงรหัสที่มีความเสี่ยงหรือไม่ดี (แม้ว่าจะได้รับการยอมรับจากคอมไพเลอร์ / ล่าม)
- ด้านการนำเสนอ: ซึ่งเกี่ยวข้องกับตัวเองด้วยการทำให้โปรแกรมชัดเจนต่อผู้อ่าน
ด้านเทคนิคฉันมีสิทธิ์ของการเข้ารหัสมาตรฐานเช่นเดียวกับสมุนไพร Sutterและอังเดร Alexandrescuกับพวกเขาc ++ มาตรฐานการเข้ารหัส งานนำเสนอที่ฉันมีสิทธิ์ได้รับรูปแบบการเข้ารหัสซึ่งรวมถึงแบบแผนการตั้งชื่อการเยื้อง ฯลฯ ...
มาตรฐานการเข้ารหัส
เพราะมันเป็นเรื่องทางเทคนิคล้วนๆมาตรฐานการเข้ารหัสจึงมีวัตถุประสงค์ส่วนใหญ่ ทุกเหตุผลควรได้รับการสนับสนุนด้วยเหตุผล ในหนังสือที่ฉันอ้างถึงแต่ละรายการมี:
- ชื่อเรื่องง่ายและตรงประเด็น
- สรุปซึ่งอธิบายชื่อ
- การอภิปรายซึ่งแสดงให้เห็นถึงปัญหาในการทำอย่างอื่นและระบุเหตุผล
- เป็นตัวเลือกตัวอย่างบางส่วนเนื่องจากตัวอย่างที่ดีมีค่านับพันคำ
- เป็นตัวเลือกรายการของข้อยกเว้นที่ไม่สามารถใช้กฎนี้ได้บางครั้งก็มีวิธีแก้ไข
- รายการอ้างอิง (หนังสืออื่น ๆ เว็บไซต์) ที่กล่าวถึงในจุดนี้
เหตุผลและข้อยกเว้นมีความสำคัญมากเนื่องจากพวกเขาสรุปว่าทำไมและเมื่อใด
ชื่อเรื่องจะต้องชัดเจนเพียงพอว่าในระหว่างการตรวจทานเราจะต้องมีรายการชื่อเรื่อง (แผ่นงานโกง) เพื่อทำงานด้วยเท่านั้น และจัดกลุ่มรายการตามหมวดหมู่เพื่อให้ง่ายต่อการค้นหา
Sutter และ Alexandrescu มีรายชื่อเพียงร้อยรายการเท่านั้นแม้ว่า C ++ จะมีขนดก;
สไตล์การเข้ารหัส
ส่วนนี้โดยทั่วไปจะมีวัตถุประสงค์น้อยกว่า (และสามารถเป็นอัตนัยอย่างจริงจัง) ความตั้งใจที่นี่คือการรับประกันความมั่นคงเพราะสิ่งนี้จะช่วยผู้ดูแลและผู้มาใหม่
คุณไม่ต้องการที่จะเข้าสู่สงครามศักดิ์สิทธิ์เกี่ยวกับรูปแบบการเยื้องหรือการรั้งที่ดีกว่าที่นี่มีฟอรัมสำหรับสิ่งนี้: ดังนั้นในหมวดหมู่นี้คุณทำสิ่งต่าง ๆ โดยฉันทามติ> โหวตเสียงข้างมาก> การตัดสินใจโดยผู้นำโดยพล
สำหรับตัวอย่างของการจัดรูปแบบให้ดูรายการของตัวเลือกของรูปแบบศิลปะ ตามหลักการแล้วกฎควรมีความชัดเจนและสมบูรณ์เพียงพอที่โปรแกรมสามารถเขียนโค้ดใหม่ได้ (แม้ว่าจะไม่น่าเป็นไปได้ที่คุณจะได้โค้ดหนึ่ง)
สำหรับหลักการตั้งชื่อฉันจะพยายามทำให้ class / types แตกต่างจากตัวแปร / คุณสมบัติได้อย่างง่ายดาย
นอกจากนี้ยังอยู่ในหมวดหมู่นี้ที่ฉันจัดหมวดหมู่ "การวัด" ที่ชอบ:
- ชอบวิธีการสั้นและยาว: มักจะยากที่จะเห็นด้วยกับสิ่งที่นาน
- ชอบกลับเร็ว / ต่อ / หยุดเพื่อลดการเยื้อง
อื่น ๆ ?
และเป็นคำสุดท้ายมีรายการหนึ่งที่ไม่ค่อยมีการกล่าวถึงในมาตรฐานการเข้ารหัสอาจเป็นเพราะมันเป็นพิเศษสำหรับแต่ละโปรแกรม: องค์กรรหัส ปัญหาทางสถาปัตยกรรมอาจเป็นปัญหาที่โดดเด่นที่สุดไขปัญหาการออกแบบเริ่มต้นและคุณจะได้รับผลกระทบจากหลายปีนับจากนี้ คุณควรเพิ่มส่วนสำหรับการจัดการไฟล์พื้นฐาน: ส่วนหัวสาธารณะ / ส่วนตัว, การจัดการการพึ่งพา, การแยกข้อกังวล, การเชื่อมต่อกับระบบหรือไลบรารีอื่น ๆ ...
แต่สิ่งเหล่านี้จะไม่เกิดขึ้นหากไม่ได้ใช้และบังคับใช้จริง
การละเมิดใด ๆ ที่จะเกิดขึ้นในระหว่างการตรวจสอบรหัสและไม่ควรมีการตรวจสอบรหัสหากมีการละเมิดที่โดดเด่น:
- แก้ไขรหัสเพื่อให้ตรงกับกฎ
- แก้ไขกฎเพื่อให้รหัสไม่โดดเด่นอีกต่อไป
เห็นได้ชัดว่าการเปลี่ยนกฎหมายถึงการได้รับ "ไปข้างหน้า" จากผู้นำ