ฉันรู้ว่ามีคำถามอยู่แล้วที่นี่ที่เกี่ยวข้องอย่างใกล้ชิดกับหัวข้อนี้ แต่ไม่มีคำถามใดที่ใช้ภาษา Ubiquitousเป็นจุดเริ่มต้นดังนั้นฉันคิดว่านั่นเป็นเหตุผลสำหรับคำถามนี้
สำหรับผู้ที่ไม่ทราบ: Ubiquitous Language เป็นแนวคิดของการกำหนดภาษา (ทั้งการพูดและการเขียน) ที่ใช้อย่างเท่าเทียมกันในการพัฒนาและผู้เชี่ยวชาญด้านโดเมนเพื่อหลีกเลี่ยงความไม่สอดคล้องกันและการสื่อสารผิดเนื่องจากปัญหาการแปลและความเข้าใจผิด คุณจะเห็นคำศัพท์ที่เหมือนกันปรากฏในรหัสการสนทนาระหว่างสมาชิกในทีมรายละเอียดการทำงานและ whatnot
ดังนั้นสิ่งที่ฉันสงสัยเกี่ยวกับวิธีจัดการกับภาษาแพร่หลายในโดเมนที่ไม่ใช่ภาษาอังกฤษ
ส่วนตัวผมชอบอย่างยิ่งที่จะเขียนโค้ดโปรแกรมเป็นภาษาอังกฤษอย่างสมบูรณ์รวมถึงความคิดเห็น แต่แน่นอนว่าไม่รวมค่าคงที่และทรัพยากร
อย่างไรก็ตามในโดเมนที่ไม่ใช่ภาษาอังกฤษฉันถูกบังคับให้ตัดสินใจ:
- เขียนโค้ดที่สะท้อนถึงภาษา Ubiquitous ในภาษาธรรมชาติของโดเมน
- แปลภาษา Ubiquitous เป็นภาษาอังกฤษและหยุดการสื่อสารในภาษาธรรมชาติของโดเมน
- กำหนดตารางที่กำหนดวิธีการแปลภาษา Ubiquitous เป็นภาษาอังกฤษ
นี่คือความคิดของฉันตามตัวเลือกเหล่านี้:
1) ฉันมีความเกลียดชังอย่างมากต่อรหัสภาษาผสมนั่นคือการเข้ารหัสโดยใช้ประเภท / สมาชิก / ชื่อตัวแปร ฯลฯ ที่ไม่ใช่ภาษาอังกฤษ ภาษาโปรแกรมส่วนใหญ่ 'หายใจ' ภาษาอังกฤษในระดับใหญ่และส่วนใหญ่ของวรรณคดีทางเทคนิคชื่อรูปแบบการออกแบบและอื่น ๆ เป็นภาษาอังกฤษเช่นกัน ดังนั้นในกรณีส่วนใหญ่จะไม่มีวิธีการเขียนโค้ดทั้งหมดในภาษาที่ไม่ใช่ภาษาอังกฤษดังนั้นคุณจึงต้องลงเอยด้วยภาษาที่ผสมกันอยู่แล้ว
2) สิ่งนี้จะบังคับให้ผู้เชี่ยวชาญด้านโดเมนเริ่มคิดและพูดในภาษาอังกฤษเทียบเท่ากับ UL ซึ่งเป็นสิ่งที่อาจไม่เป็นธรรมชาติสำหรับพวกเขาดังนั้นจึงเป็นอุปสรรคต่อการสื่อสารอย่างมีนัยสำคัญ
3) ในกรณีนี้ผู้พัฒนาสื่อสารกับผู้เชี่ยวชาญโดเมนในภาษาของตนในขณะที่นักพัฒนาสื่อสารกันเป็นภาษาอังกฤษและที่สำคัญที่สุดพวกเขาเขียนโค้ดโดยใช้การแปลภาษาอังกฤษของ UL
ฉันแน่ใจว่าฉันไม่ต้องการไปที่ตัวเลือกแรกและฉันคิดว่าตัวเลือกที่ 3 นั้นดีกว่าตัวเลือกที่ 2 คุณคิดอย่างไร? ฉันไม่มีตัวเลือกอื่นหรือไม่
UPDATE
วันนี้ประมาณหนึ่งปีต่อมาการจัดการกับปัญหานี้เป็นประจำทุกวันฉันต้องบอกว่าตัวเลือกที่ 3 ใช้ได้ดีสำหรับฉัน
มันไม่น่าเบื่อเท่าที่ฉันเริ่มกลัวและแปลแบบเรียลไทม์ในขณะที่คุยกับลูกค้าก็ไม่เป็นปัญหาเช่นกัน
ฉันพบว่าข้อดีดังต่อไปนี้เป็นจริงตามประสบการณ์ของฉัน
- การแปล UL ทำให้คุณให้ความสำคัญกับการกำหนด UL และแม้กระทั่งโดเมนเองโดยเฉพาะอย่างยิ่งเมื่อคุณไม่ทราบวิธีการแปลคำศัพท์และคุณต้องเริ่มมองผ่านพจนานุกรม ฯลฯ สิ่งนี้ทำให้ฉันต้องพิจารณาการสร้างแบบจำลองโดเมนอีกครั้ง ไม่กี่ครั้ง.
- มันช่วยให้คุณทำให้ความรู้ภาษาอังกฤษของคุณลึกซึ้งยิ่งขึ้น
- เห็นได้ชัดว่ารหัสของคุณน่าดูมากกว่าที่จะเป็นความคิดที่หยาบคายอนาจาร