เป็นคำถามที่ดีมาก! ฉันมีปัญหาที่แน่นอนเหมือนกัน; ค่าคงที่ของฉันเป็นหลัก: ภาษาใดบ้างที่ได้รับการสนับสนุนในแอปพลิเคชันของฉันและข้อมูลเพิ่มเติมเกี่ยวกับภาษาเหล่านั้นเมื่อพวกเขาเกี่ยวข้องกับการทำงานในแอป
น่าเสียดายที่สิ่งที่ดีที่สุดที่ฉันได้พบ (คือคุณ) คือการกำหนดค่าคงที่ใหม่สำหรับแต่ละภาษาอย่างที่คุณกำลังทำอยู่ (ฉันรู้ว่าคุณต้องการได้ยินอย่างนั้น )
เห็นได้ชัดว่ามันผิดเพราะมันตรงกันข้ามกับ DRY ( WET ?? ) อย่างไรก็ตามค่าคงที่ควรเปลี่ยนบ่อยครั้งที่การกำหนดใหม่ 5-10 นาทีสำหรับแต่ละภาษานั้นไม่ได้รบกวนฉันจริงๆ ในตอนท้ายของวันปัญหาเล็ก ๆ ที่มีโซลูชัน 'หรูหรา' บางอย่างเช่นการกำหนดค่าที่ใช้ร่วมกันหรือการสร้างรหัสอาจใช้เวลาหลายชั่วโมงหรือหลายวันในการแก้ไขดังนั้นสิ่งที่ได้รับจริง ๆ เพิ่มความซับซ้อนด้วยความเสี่ยงของสิ่งที่ผิดพลาดซึ่งอาจใช้ความพยายามแก้ไขเพิ่มเติมไม่ใช่สิ่งที่ฉันต้องการจัดการ
นอกจากนี้หากแอปพลิเคชันของคุณมีค่าคงที่จำนวนมากที่กำหนดค่าใหม่ต่อภาษาเมื่อคุณเพิ่มหรือเปลี่ยนแปลงพวกเขาใช้เวลาจำนวนมากคุณอาจมีกลิ่นรหัสที่สำคัญกว่าที่จะจัดการกับและ ณ จุดนั้นคุณอาจต้องการเปลี่ยน เพื่อสิ่งที่ซับซ้อนมากขึ้น
ดังนั้นในระยะสั้นการกำหนดใหม่สำหรับแต่ละภาษาเป็นทางออกที่ดีที่สุดของฉันและฉันยังไม่ได้คิดอะไรเพิ่มเติมอีกต่อไปที่จะไม่มีปัจจัยเสี่ยงมากกว่าที่ฉันต้องการ
อย่างไรก็ตามสิ่งหนึ่งที่ต้องทำอย่างแน่นอนคือเพื่อให้แน่ใจว่าค่าคงที่ของคุณได้รับการบันทึกไว้อย่างดีในลักษณะทั่วไป (และผู้ไม่เชื่อเรื่องภาษา) (เรามี repo documentarion ของ บริษัท พร้อมข้อมูลจำเพาะเอกสารเบ็ดเตล็ดเอกสาร 'กระดานวาด' ฯลฯ ที่เราเก็บไว้ เอกสารนี้). นอกจากนี้ตรวจสอบให้แน่ใจว่าคุณมีกลไกอยู่ในตำแหน่งเพื่อให้คำจำกัดความของพวกเขาตรงกัน นั่นเป็นปัญหาใหญ่เกี่ยวกับวิธีการทำซ้ำอย่างที่คุณมียกเว้นความทุกข์ทางจิตวิทยาเล็กน้อยจากการทำซ้ำรหัสโดยเจตนา แต่ในที่สุดการเปลี่ยนแปลงอย่างต่อเนื่องของคุณควรจะพิจารณาอย่างรอบคอบและไม่บ่อยนักดังนั้นประเด็นเรื่องความบังเอิญควรเป็นศูนย์
ฉันควรพูดถึงว่าในช่วงหลายปีที่ผ่านมาฉันได้เห็นพอร์ตหลายภาษาของห้องสมุดต่างๆ (เหนื่อยเกินกว่าที่จะจำสิ่งที่พวกเขากำลังในขณะนี้) เขียนโดยกลุ่มเดียวกันที่คงค่าคงที่ในภาษาของตัวเอง ไม่มีการกำหนดค่าที่ใช้ร่วมกันไม่มีการสร้างรหัส (ยกเว้นไลบรารีไคลเอนต์ Google API ... แต่มาเลย Google มีทรัพยากรที่จะจ่ายให้กับความซับซ้อนดังกล่าว) ดังนั้นฉันคิดว่าเราชนกำแพงอิฐกับสิ่งนี้ บางทีในที่สุดอาจมีใครบางคนเข้ามาพร้อมห้องสมุดเพื่อจัดการกับปัญหานี้;)