เรากำลังพัฒนาแอปพลิเคชั่นขนาดใหญ่ประกอบด้วยแพ็คเกจขนาดเล็กจำนวนมาก แต่ละแพ็คเกจมีชุดของไฟล์ทรัพยากรสำหรับการแปล
วิธีที่ดีที่สุดในการจัดระเบียบและตั้งชื่อสตริงการแปลคืออะไร
นี่คือความคิดของฉัน:
การจัดการรายการที่ซ้ำกัน
ข้อความเดียวกัน (พูดว่า "รหัสไปรษณีย์") อาจเกิดขึ้นหลายครั้งภายในแพ็คเกจที่กำหนด Programming สัญชาตญาณ (แห้ง) บอกฉันเพื่อสร้างทรัพยากรสายเดียวที่ใช้ร่วมกันโดยเกิดขึ้นทั้งหมด
จากนั้นอีกครั้งนักแปลอาจต้องการเลือกการแปลที่ยาว ("Postleitzahl") ในบางแห่งและอีกอันที่สั้นกว่า ("PLZ") ในที่ที่มีพื้นที่น้อย หรือเราอาจตัดสินใจต่อท้ายเครื่องหมายจุดคู่กับเหตุการณ์บางอย่าง ("รหัสไปรษณีย์:") แต่ไม่ใช่สำหรับบางคน หรือเราอาจต้องการตัวพิมพ์ใหญ่ ("รหัสไปรษณีย์") ที่แตกต่างกันในบางสถานที่ ข้อโต้แย้งทั้งหมดเหล่านี้ชี้ไปที่การสร้างทรัพยากรต่อการใช้งานแม้ว่าเนื้อหาของพวกเขาเหมือนกัน
การตั้งชื่อ
ถ้าเรามุ่งมั่นที่จะกำจัดข้อมูลซ้ำมันทำให้รู้สึกไปยังแหล่งข้อมูลชื่อตามเนื้อหาอาจจะกระทบถึงชนิดของการใช้งานผ่านทางคำนำหน้า ดังนั้นเราอาจมีlabelOK
= "ตกลง" , messageFileTooLarge
= "ไฟล์เกินขนาดไฟล์สูงสุด" และlabelZipCode
= "รหัสไปรษณีย์"
การตั้งชื่อโดยเนื้อหานั้นมีข้อดีของการจัดการข้อโต้แย้งรูปแบบตามธรรมชาติ: ทรัพยากรmessageFileHas_0_MBWhileMaximumIs_1_MB
ใช้อาร์กิวเมนต์การจัดรูปแบบสองแบบอย่างชัดเจนขนาดไฟล์จริงและขนาดไฟล์สูงสุด
อย่างไรก็ตามหากเราอนุญาตการซ้ำซ้อนการตั้งชื่อตามเนื้อหาเพียงอย่างเดียวไม่สมเหตุสมผล เพื่อให้ได้รับชื่อทรัพยากรที่ไม่ซ้ำกันเราจะต้องรวมถึงสถานที่การใช้งานในชื่อทรัพยากร ผลงานที่สำหรับการควบคุมกราฟิกแม้ว่าตัวระบุมีแนวโน้มที่จะได้รับบิตยาว: fileSelectionConfirmationButtonText
= "OK" , customerDetailsTableColumnZipCode
= "รหัสไปรษณีย์" อย่างไรก็ตามสำหรับไฟล์รหัสที่ไม่ใช่แบบเห็นภาพนั้นจะยากขึ้น คุณจะตั้งชื่อการใช้งานที่เฉพาะเจาะจงของสตริงได้อย่างไรหากคุณไม่รู้ว่ามันจะปรากฏที่ใดในที่สุด? โดยไฟล์รหัสและชื่อฟังก์ชั่น? ดูเหมือนจะค่อนข้างงุ่มง่ามและเปราะสำหรับฉัน
โดยรวมแล้วฉันกำลังโน้มน้าวให้อนุญาตการทำซ้ำ แต่ฉันพยายามดิ้นรนเพื่อหารูปแบบการตั้งชื่อที่สอดคล้องซึ่งสนับสนุนสิ่งนี้
แก้ไข:คำถามนี้มีสองด้าน: วิธีจัดระเบียบทรัพยากร (DRY กับรายการซ้ำ) และวิธีตั้งชื่อทรัพยากรเหล่านั้น เพื่อให้ห่างไกลคำตอบได้มุ่งเน้นในด้านแรก ฉันขอขอบคุณข้อเสนอแนะบางส่วนเกี่ยวกับการตั้งชื่อการประชุม!