Tôi biết đã có một số câu hỏi ở đây có liên quan chặt chẽ đến chủ đề này nhưng không có câu hỏi nào trong số đó lấy Ngôn ngữ Ubiquitous làm điểm khởi đầu nên tôi nghĩ điều đó biện minh cho câu hỏi này.
Đối với những người không biết: Ngôn ngữ Ubiquitous là khái niệm xác định ngôn ngữ (cả nói và viết) được sử dụng như nhau giữa các nhà phát triển và chuyên gia tên miền để tránh sự không nhất quán và thông tin sai lệch do vấn đề dịch thuật và hiểu lầm. Bạn sẽ thấy cùng một thuật ngữ hiển thị trong mã, các cuộc hội thoại giữa bất kỳ thành viên nào trong nhóm, thông số chức năng và không có gì.
Vì vậy, điều tôi băn khoăn là làm thế nào để đối phó với Ngôn ngữ Ubiquitous trong các lĩnh vực không phải tiếng Anh.
Cá nhân, tôi hoàn toàn ủng hộ việc viết mã lập trình bằng tiếng Anh hoàn toàn, bao gồm các bình luận nhưng tất nhiên không bao gồm các hằng số và tài nguyên.
Tuy nhiên, trong một miền không phải tiếng Anh, tôi buộc phải đưa ra quyết định:
- Viết mã phản ánh Ngôn ngữ Ubiquitous bằng ngôn ngữ tự nhiên của tên miền.
- Dịch ngôn ngữ Ubiquitous sang tiếng Anh và ngừng giao tiếp bằng ngôn ngữ tự nhiên của tên miền.
- Xác định một bảng xác định cách ngôn ngữ Ubiquitous dịch sang tiếng Anh.
Dưới đây là một số suy nghĩ của tôi dựa trên các tùy chọn sau:
1) Tôi có ác cảm mạnh mẽ với mã ngôn ngữ hỗn hợp, đó là mã hóa bằng cách sử dụng tên loại / thành viên / biến, v.v. không phải tiếng Anh. Hầu hết các ngôn ngữ lập trình 'thở' tiếng Anh ở một mức độ lớn và hầu hết các tài liệu kỹ thuật, tên mẫu thiết kế, vv cũng bằng tiếng Anh. Do đó, trong hầu hết các trường hợp, không có cách nào viết mã hoàn toàn bằng ngôn ngữ không phải tiếng Anh nên dù sao bạn cũng kết thúc bằng các ngôn ngữ hỗn hợp.
2) Điều này sẽ buộc các chuyên gia trong miền bắt đầu suy nghĩ và nói chuyện bằng tiếng Anh tương đương với UL, một điều có lẽ sẽ không tự nhiên đến với họ và do đó cản trở giao tiếp đáng kể.
3) Trong trường hợp này, các nhà phát triển giao tiếp với các chuyên gia tên miền bằng ngôn ngữ mẹ đẻ của họ trong khi các nhà phát triển giao tiếp với nhau bằng tiếng Anh và quan trọng nhất là họ viết mã bằng bản dịch tiếng Anh của UL.
Tôi chắc chắn rằng tôi không muốn chọn tùy chọn đầu tiên và tôi nghĩ tùy chọn 3 tốt hơn nhiều so với tùy chọn 2. Bạn nghĩ gì? Tôi có thiếu các lựa chọn khác không?
CẬP NHẬT
Hôm nay, khoảng một năm sau, xử lý vấn đề này hàng ngày, tôi phải nói rằng phương án 3 đã giải quyết khá tốt cho tôi.
Nó không tẻ nhạt như ban đầu tôi sợ và dịch trong thời gian thực trong khi nói chuyện với khách hàng cũng không phải là vấn đề.
Tôi cũng tìm thấy những lợi thế sau đây là đúng, dựa trên kinh nghiệm của tôi.
- Dịch UL khiến bạn chú ý hơn đến việc xác định UL và thậm chí chính tên miền, đặc biệt là khi bạn không biết cách dịch thuật ngữ và bạn phải bắt đầu xem qua từ điển, v.v. Điều này thậm chí còn khiến tôi phải xem xét lại các quyết định mô hình hóa tên miền một vài lần.
- Nó giúp bạn làm cho kiến thức về ngôn ngữ tiếng Anh của bạn sâu sắc hơn.
- Rõ ràng, mã của bạn dễ chịu hơn nhiều khi nhìn vào thay vì là một tâm trí bỉ ổi.