การประชุมสุดยอดของสิ่งที่คำตอบอื่น ๆ ได้เข้าใจไม่ใช่ "ค่าเวทมนตร์" ที่ไม่ดี แต่พวกเขาควรจะ:
- กำหนดไว้อย่างชัดเจนว่าเป็นค่าคงที่
- กำหนดไว้เพียงครั้งเดียวภายในขอบเขตการใช้งานทั้งหมด (หากเป็นไปได้ทางสถาปัตยกรรม)
- ให้นิยามร่วมกันหากพวกมันรวมกลุ่มของค่าคงที่ที่สัมพันธ์กัน
- กำหนดไว้ในระดับความเหมาะสมทั่วไปในแอปพลิเคชันที่ใช้งาน และ
- กำหนดไว้ในลักษณะที่จะ จำกัด การใช้งานในบริบทที่ไม่เหมาะสม (เช่นคล้อยตามประเภทการตรวจสอบ)
สิ่งที่โดยทั่วไปจะแตกต่างจาก "ค่าคงที่" ที่ยอมรับได้จาก "ค่าเวทมนตร์" คือการละเมิดกฎเหล่านี้อย่างน้อยหนึ่งกฎ
ถ้าใช้อย่างดีค่าคงที่เพียงแค่ให้เราแสดงความจริงบางประการของรหัสของเรา
ซึ่งนำฉันไปสู่จุดสุดท้ายว่าการใช้ค่าคงที่มากเกินไป (และดังนั้นจึงมีข้อสันนิษฐานหรือข้อ จำกัด จำนวนมากเกินไปที่แสดงออกในรูปของค่า) แม้ว่ามันจะเป็นไปตามเกณฑ์ข้างต้น (แต่โดยเฉพาะอย่างยิ่งถ้ามันเบี่ยงเบนจากพวกเขา) อาจบอกเป็นนัยว่าวิธีแก้ปัญหาที่ถูกคิดค้นนั้นไม่เพียงพอหรือมีโครงสร้างที่ดี (ดังนั้นเราจึงไม่ได้พูดถึงข้อดีข้อเสียของค่าคงที่อีกต่อไป แต่เกี่ยวกับข้อดีข้อเสียของรหัสที่มีโครงสร้างดี)
ภาษาระดับสูงมีโครงสร้างสำหรับรูปแบบในภาษาระดับล่างซึ่งจะต้องใช้ค่าคงที่ รูปแบบเดียวกันนี้สามารถใช้ในภาษาระดับสูงกว่าได้ แต่ไม่ควรใช้
แต่นั่นอาจเป็นการตัดสินโดยผู้เชี่ยวชาญจากความประทับใจในทุกสถานการณ์และการแก้ปัญหาควรมีลักษณะอย่างไรและวิธีการตัดสินนั้นจะต้องมีเหตุผลจะขึ้นอยู่กับบริบทอย่างมาก อันที่จริงมันอาจจะไม่สมเหตุสมผลในแง่ของหลักการทั่วไปใด ๆ ยกเว้นที่จะยืนยันว่า "ฉันแก่มากพอที่จะได้เห็นงานประเภทนี้ซึ่งฉันคุ้นเคยทำดีกว่า"!
แก้ไข:การยอมรับการแก้ไขหนึ่งครั้งปฏิเสธอีกครั้งและตอนนี้ทำการแก้ไขของตัวเองตอนนี้ฉันขอพิจารณารูปแบบการจัดรูปแบบและเครื่องหมายวรรคตอนของรายการกฎของฉันที่จะตัดสินทันทีและสำหรับฮ่า ๆ ๆ !