Trong ngôn ngữ nào tôi nên đặt tên lớp học kinh doanh của tôi?


29

Tôi đang yêu cầu thực hành tốt nhất với câu hỏi này. Đây chỉ là một vấn đề nếu công ty khách hàng có quốc tịch hoàn toàn có ngôn ngữ bản địa khác tiếng Anh, tôi nghĩ vậy.

Nếu khách hàng có rất nhiều biểu thức chủ yếu là tên miền cụ thể (nói tiếng Đức), trộn lẫn với một số tên miền cụ thể ít hơn. Ngôn ngữ của các nhận xét mã, tên lớp / phương thức / biến của chúng tôi là tiếng Anh. Bạn sẽ dịch tất cả các tên miền cụ thể?


11
Anh. Lingua franca cho lập trình.
Giàn khoan

6
Một trong những thông báo lỗi PHP 'thách thức' hơn có một khuynh hướng tiếng Do Thái thú vị : unexpected T_PAAMAYIM_NEKUDOTAYIM. Đã thấy điều này một vài lần trong đời, tôi không nghi ngờ rằng người ta nên sử dụng tiếng Anh.
K.Steff

3
Có bất kỳ biểu thức cụ thể miền nào của Đức có các ký tự không chuẩn (giả sử, umulauts (sp?)) Không? Nếu bạn thuê lập trình viên bên ngoài khu vực của bạn, họ có thể không thể tìm thấy bàn phím có các ký tự cần thiết (của tôi không). Vâng, có nhiều cách để chuyển ngôn ngữ 'đánh máy', nhưng tôi không muốn rắc rối đó.
Đồng hồ-Muse

2
Tiếng Hy Lạp - sử dụng bảng chữ cái phi Latinh là bảo mật công việc tốt hơn so với klingon.
Wyatt Barnett

3
@ X-Zero đi ra ngoài ASCII đơn giản sẽ mở ra "hộp mã hóa ký tự nào chúng ta sử dụng". Thông thường bạn bị cắn và không đến đó một lần nữa.

Câu trả lời:


16

Tôi đang làm việc ở Đức và tôi thích chọn tiếng Anh hơn.

Đôi khi, ví dụ như những thứ cụ thể của tên miền như tạo mô-đun thành "DATEV" (phần mềm thanh toán / hóa đơn của Đức) tôi sử dụng tên tiếng Đức. Một số từ tiếng Đức không thể được dịch đúng, ví dụ: "Referenceenzbuchungsnummer" (ReferenceBookingNum?) Hoặc "Sachkontenlaenge" (..?). Ngoài ra tôi nghĩ rằng những thứ cụ thể của tên miền sẽ kết thúc trong kinh dị bảo trì. Có thể bạn sẽ nhớ rằng ReferenceBookingNum sẽ liên quan đến "Referenceenzbuchungsnummer", nhưng còn đồng nghiệp của bạn thì sao? Họ phải nghiên cứu tài liệu nội bộ về đặt tên, nếu tài liệu tồn tại. Họ sẽ không quen thuộc với mô-đun mà không có tên riêng. Đó là một sự phức tạp không cần thiết nếu tất cả các nhà phát triển khác cũng là người Đức. Nhưng "CakeFactory" nghe hay hơn "KeksFabrik";)

Vì vậy, tất cả phụ thuộc.


2
Câu trả lời này phản ánh ý kiến ​​cá nhân của tôi nhiều nhất, sau khi đọc các câu trả lời khác. Đặc biệt điểm này: "Đó là một sự phức tạp không cần thiết nếu tất cả các nhà phát triển khác cũng là người Đức" khi dịch mọi thứ.
Zeemee

1
@Mulmoth: "Đó là một sự phức tạp không cần thiết nếu tất cả các nhà phát triển khác cũng là người Đức" --- Làm thế nào bạn có thể chắc chắn rằng tại một thời điểm, trong một số năm, dự án sẽ không được gia công cho một quốc gia khác? Làm thế nào bạn có thể chắc chắn rằng một nhà phát triển không nói tiếng Đức sẽ không được giới thiệu trong dự án tại một số thời điểm?
San hô Doe

5
@Coral Doe - Tôi nghĩ rằng nhà phát triển mới / khác / thuê ngoài đã phải đào sâu vào lĩnh vực kinh doanh và các biểu thức cụ thể của nó. Vì vậy, imho sẽ dễ dàng hơn trong việc ánh xạ những gì khách hàng (vẫn sẽ là người Đức sau đó) sais sang các lớp có tên tiếng Đức istead của các tên tiếng Anh được dịch sai / sai.
Zeemee

2
"Công cụ" liên quan đến thanh toán / thuế của Đức sẽ không bao giờ được gia công cho một quốc gia không nói tiếng Đức. Tại trường đại học, một người nào đó nói với tôi rằng 85 phần trăm của tất cả các cuốn sách thanh toán / thuế đề cập đến luật pháp Đức và được viết bằng tiếng Đức. trên toàn thế giới.
lurkerbelow

3
Tôi đồng ý nhưng một vấn đề hầu như luôn xảy ra là ngôn ngữ được các nhà phát triển sử dụng rò rỉ ra cho người dùng và các bên liên quan khác. Không phải là một phần của ui mà là cách bạn nói về miền vấn đề. Điều này chắc chắn sẽ dẫn đến sự nhầm lẫn vì không phải ai cũng thông thạo tiếng Anh như hầu hết các nhà phát triển.
Mille Bessö

14

Là người Na Uy làm việc trong một công ty Na Uy, tôi đặt tên cho các đối tượng của mình bằng tiếng Anh. Tất nhiên một số từ hoặc khái niệm có thể không có phiên bản tiếng Anh và trong trường hợp đó, người ta có thể lập luận rằng một từ bản địa có thể được sử dụng thay cho một từ thay thế xấu hoặc dịch nghĩa đen không có nghĩa. Tất nhiên, phần lớn những vấn đề này có thể là do một số người trong chúng ta nên có vốn từ vựng tốt hơn nên tôi thường hỏi một đồng nghiệp nếu tôi không nghĩ ra một tên tiếng Anh tốt :)

Một số nhân viên của chúng tôi không phải là người Na Uy và do đó viết bằng tiếng Anh có lợi cho họ. Có thể thuê các lập trình viên từ hầu hết châu Âu là tốt cho nền kinh tế vì vậy công ty của tôi cũng được hưởng lợi từ nó.

BTW: Tôi nhớ rằng tôi đã đọc nguồn của Hermes một lần (triển khai ebXML b2b) và tôi đã có một khoảng thời gian khó khăn nếu họ đã viết và nhận xét bằng tiếng phổ thông.


5
Hầu như đã chỉnh sửa "đại học" thành cái mà tôi cho là "đồng nghiệp" nhưng tôi không chắc đó có phải là cố ý hay không.
Jacob Schoen

Tất nhiên ý tôi là đồng nghiệp :)
Sylwester

Of course some words or concepts might not have a English counterpart- Tôi luôn tò mò khi xuất hiện trong lập trình, gần như bạn có thể biết một mẫu thiết kế mà những người nói tiếng Anh không nghĩ ra. Bạn có một ví dụ nhanh?
Izkata

5
@Izkata: câu hỏi là về các lớp học kinh doanh . Chúng thường được gắn với các quy tắc và quy định cụ thể theo quốc gia. Ví dụ, nếu luật pháp buộc bạn phải theo dõi vị trí của tất cả các xe tải có hóa chất nguy hiểm, bạn rất có thể đặt tên cho hạng đó theo luật đó.
MSalters

9

Tôi tin rằng vì tiếng Anh là ngôn ngữ chung của lĩnh vực CNTT, việc giới hạn mã nguồn của bạn sang ngôn ngữ khác sẽ tạo ra những trở ngại nhân tạo cho sự phát triển của nó. Trước tiên, bạn giới hạn nhóm người có thể đóng góp cho những người nói một ngôn ngữ cụ thể. Lý do tương tự mà bạn đã hỏi trong trao đổi ngăn xếp và không phải trên một trang web địa phương.

Ngoài ra, bạn không biết đóng góp sẽ đến từ đâu và sẽ đi đến đâu. Điều gì nếu bạn sử dụng một mẫu từ một trang web, bạn sẽ dịch nó? Điều gì xảy ra nếu sản phẩm mở rộng được sử dụng từ khách hàng ở một quốc gia khác? Trường hợp bạn cần thuê một nhà thầu / thuê ngoài một chút? Tại sao giới hạn trong một hồ bơi và không có được sự phù hợp nhất từ ​​khắp nơi trên thế giới?

Có thể giả định rằng nó ổn đối với một số cấu trúc miền cụ thể không ánh xạ dễ dàng sang các ngôn ngữ khác hoặc nếu một cơ sở mã hiện có được duy trì.


9

Mục tiêu dự án cuối cùng của tôi là mô hình hóa lĩnh vực kinh doanh của tài sản thế chấp và thế chấp. Tất cả các nhà phát triển và công ty chúng tôi làm việc là từ Ba Lan. Chúng tôi xây dựng phần mềm theo các nguyên tắc Thiết kế hướng miền. Chúng tôi đã sử dụng tên Ba Lan cho tất cả các thực thể kinh doanh và tôi nghĩ đó là một lựa chọn rất tốt. Tôi nghĩ rằng chúng tôi đã có thể tránh được các vấn đề giao tiếp nhờ phương pháp này. Lĩnh vực kinh doanh bao gồm nhiều thuật ngữ mà tôi thậm chí không biết bằng tiếng Ba Lan, không đề cập đến các bản dịch tiếng Anh. Chúng tôi chỉ sử dụng các chữ cái Latinh và tất cả các lớp kỹ thuật được đặt tên bằng tiếng Anh.


4
Đó là một điểm tốt: nếu tất cả các kiến ​​thức tên miền đều bằng ngôn ngữ địa phương và không có tên tiếng Anh theo thỏa thuận cho các khái niệm miền tồn tại, sử dụng ngôn ngữ địa phương có thể là một ý tưởng tốt.
Joachim Sauer

7

Nói chung dễ đọc mã nguồn được viết bằng một ngôn ngữ. Điều này đối với hầu hết các ngôn ngữ lập trình ngụ ý bạn nên viết nó bằng tiếng Anh.

Điều đó nói rằng, có một vấn đề lớn với các khái niệm miền không dễ dịch sang tiếng Anh. Một ví dụ điển hình là một định danh duy nhất mà xã hội cung cấp cho cá nhân - ở Hoa Kỳ khái niệm gần nhất là số an sinh xã hội, nhưng nó không phải là một bản đồ chính xác. Tên và số điện thoại thường bản đồ khá tốt.

Tôi tin rằng thường là cần thiết để giữ các thuật ngữ tên miền bất cứ khi nào một ánh xạ chính xác không có sẵn bằng tiếng Anh, nhưng chỉ những điều đó - giữ phần còn lại bằng tiếng Anh. Nó sẽ dẫn đến các định danh bất thường như KommuneImpl nhưng nó có ý nghĩa ngay lập tức với những người biết tên miền.


2

Các dự án loại cộng đồng nguồn mở / quốc tế

Ngôn ngữ chung của các dự án cộng đồng quốc tế và nguồn mở là tiếng Anh. Trong trường hợp, ngôn ngữ của các trang web Stack Exchange là tiếng Anh. Để có khả năng tiếp cận rộng nhất, tiếng Anh nên được sử dụng cho tất cả các tên mã và đối tượng.

Dự án thương mại

Hầu hết các công ty phần mềm quốc tế bắt buộc mã phải được viết bằng tiếng Anh. Đó là mẫu số chung lớn nhất, vì vậy, thật hợp lý khi sử dụng tiếng Anh như một phương tiện để tạo sự nhất quán.

Nhiều công ty phần mềm khu vực viết bằng ngôn ngữ bản địa của họ. Không phải tất cả đều theo phương pháp này, nhưng nó có ý nghĩa từ quan điểm của họ - họ sử dụng ngôn ngữ chung cho tất cả các nhà phát triển của họ.

Đặt tên đối tượng kinh doanh

Ngôn ngữ mã hóa của nhóm nên được sử dụng để đặt tên cho các đối tượng.
Ưu tiên là các nhà phát triển có thể giao tiếp với nhau về các đối tượng và các yêu cầu của dự án. Nếu nhóm viết bằng tiếng Pháp, thì các đối tượng kinh doanh nên được đặt tên bằng tiếng Pháp. Nếu họ mã bằng tiếng Anh, sau đó đặt tên cho các đối tượng bằng tiếng Anh.

Câu hỏi của bạn thêm một nếp nhăn vì khách hàng nói một ngôn ngữ bản địa khác với ngôn ngữ mã hóa của nhóm bạn. Bạn vẫn nên sử dụng ngôn ngữ mã hóa của nhóm để đặt tên cho các đối tượng.
Khi các nhà phân tích hoặc nhà phát triển kinh doanh cần liên lạc với khách hàng về các đối tượng kinh doanh cụ thể, một bản dịch cần thiết của tên đối tượng từ ngôn ngữ mã hóa sang ngôn ngữ khách hàng có thể được yêu cầu. Từ kinh nghiệm của tôi, thật hiếm khi tôi nói về các đối tượng mã cụ thể với máy khách để việc dịch lại ngôn ngữ máy khách thực sự không cần thiết.

Ngoại lệ duy nhất cho quy tắc đặt tên là khi một đối tượng không có thuật ngữ đủ ngắn gọn khác để nắm bắt ý định của đối tượng. IMO, điều này thực sự hiếm, nhưng nó có thể xảy ra. Trong thực tế, đó là điều tương tự mà các ngôn ngữ nói làm để diễn đạt các khái niệm cụ thể. " Mặt tiền " ban đầu là một thuật ngữ tiếng Pháp nhưng đã được tiếng Anh điều chỉnh để thể hiện khái niệm này, và là một mẫu thiết kế phổ biến. " Schadenfreude " là một ví dụ điển hình khác về thuật ngữ vay mượn mặc dù tôi không nghĩ nó có một mẫu tương ứng.


1
Đoạn cuối cùng của bạn hoàn toàn mâu thuẫn với đoạn đầu tiên của bạn, dường như
James

@James - cảm ơn! Tôi đã xóa phần đó vì tôi không có thời gian để làm rõ ý tôi là gì. Nó được cho là hỗ trợ, nhưng không vấn đề gì.

1
Mạnh mẽ phủ quyết. Vì các khái niệm cốt lõi của thực tế mọi ngôn ngữ bạn sẽ gặp đều được viết bằng tiếng Anh, sử dụng thuật ngữ không phải tiếng Anh dẫn đến mã nguồn ít dễ đọc hơn. Tâm trí liên tục phải nhảy giữa tiếng Anh và ngôn ngữ khác. Mã phải trôi chảy và dễ đọc.
Mike Adler

@MikeAdler - không rõ ràng nếu bạn không đồng ý với những gì tôi đề xuất là quy tắc chung (đặt tên theo ngôn ngữ của nhóm) hoặc trường hợp ngoại lệ sẽ rất hiếm.

Được cấp. Tôi sẽ làm rõ: Tôi không đồng ý rằng bất kỳ đối tượng nào cũng nên được đặt tên theo ngôn ngữ khác tiếng Anh. Tiêu đề đầu tiên của bạn 'Dự án loại cộng đồng quốc tế / nguồn mở' phản ánh quan điểm của tôi rất rõ. Tất cả mọi thứ sau đó, tôi không mua. Lý do, như đã nêu, là khả năng bảo trì, nên là mối quan tâm lớn nhất đối với thực tế mọi quyết định thiết kế (bao gồm cả sơ đồ đặt tên) mà bạn đưa ra, theo ý kiến ​​của tôi.
Mike Adler
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.