2009-06-25 26 views
7

Tôi làm việc với một số nhà phát triển ở Ấn Độ và một trong những khó khăn lớn nhất của chúng tôi là đặt tên biến của họ. Lúc đầu, tôi đã rất thất vọng và không thể hiểu tại sao họ sẽ không đặt tên đúng thứ (là nó lười biếng?) Tuy nhiên, tôi nhận ra rằng họ có thể không được sử dụng để đặt tên biến, becausee tất cả các mã họ đọc là trong Tiếng Anh, và những từ tiếng Anh mà họ đọc có ít hoặc không có ý nghĩa đối với chúng. Nó có vẻ hiển nhiên bây giờ, nhưng nó không thể đặt tên biến tốt nếu bạn không thể hiểu tiếng Anh đầy đủ.Đặt tên biến và thành viên nhóm nói một ngôn ngữ khác

Bạn sẽ làm việc theo hướng thực hành đặt tên tốt hơn với thành viên nhóm nói tiếng nước ngoài như thế nào?

Xin lỗi nếu đây là một chút chủ quan, tôi đã đánh dấu nó là wiki cộng đồng.

Cảm ơn!

+0

Đây là vấn đề phổ biến trong tổ chức của chúng tôi. Tôi thích xem câu trả lời. +1. –

Trả lời

1

Tìm một nhà phát triển mà bạn đang hợp tác ở đó, ai biết tiếng Anh và tất cả họ đều chạy tên biến của anh ấy?

1

Có thể đặt tên biến là mô tả bằng ngôn ngữ mẹ đẻ của chúng và sau đó sử dụng dịch giả để chuyển đổi chúng sang tiếng Anh? Thậm chí có thể thêm đánh dấu và chạy trình biên dịch trước để thực hiện bản dịch tự động? Chỉ là một ý nghĩ.

3

Hầu hết các nhà phát triển nên có một sự hiểu biết hợp lý về tiếng Anh kỹ thuật (sau khi tất cả, API của hầu hết các ngôn ngữ được viết bằng tiếng Anh). Do đó, tiếng Anh có vẻ là một lựa chọn tốt. Biến thường không có tên rất khó, ví dụ: xCounter, isXYZ, vv Và nếu chúng rất khó để được đặt tên, thì tôi sẽ coi đó là một dấu hiệu chắc chắn rằng mức trừu tượng trong đó biến đó đang được khai báo là không đúng.

Người ta có thể đề xuất bản địa hóa tên biến. Tôi thấy rằng thực sự khó khăn, hiện nay hơn khi đó là điển hình cho mã được thực hiện bởi những người nằm ở châu lục khác, các công ty mua ở nước ngoài vv

gotta Something cho ☺

12

Thay đổi các yêu cầu cho các thành viên trong nhóm của bạn - họ phải có một sự hiểu biết đầy đủ về viết tiếng Anh.

Chỉnh sửa: để trả lời nhận xét của Bill K, có vẻ như với tôi rằng chi phí giao dịch với các vấn đề giao tiếp kém không được tính vào tính toán tiết kiệm. Không, tôi chưa bao giờ làm việc với các nhà phát triển ở nước ngoài, nhưng tôi làm việc với 2 người nói tiếng Anh không phải tiếng mẹ đẻ và giao tiếp chậm hơn đôi chút với họ, mặc dù cả hai đều sống ở Mỹ trong 20 năm.

Ngoài ra, tôi không ngờ câu trả lời của tôi hữu ích nhất. Chỉ cần cố gắng để làm cho một điểm. Nếu bạn không thuê ai đó làm việc trong văn phòng của bạn, thì tại sao bạn lại thuê họ làm việc cho bạn từ phía bên kia địa cầu? Ngay cả khi bạn đang đi qua một đại lý, bạn đang gián tiếp thuê mọi nhà phát triển hoạt động trên mã của bạn.

Kinh nghiệm của tôi là khi nói đến tài năng phát triển, giá rẻ có thể khá tốn kém.

+0

Nói chung đó là điều bạn không có quyền kiểm soát. Tôi không biết nếu bạn đã làm việc trong ngành công nghiệp, nhưng thường không ai dưới cấp giám đốc sẽ tình nguyện làm việc với các nhà thầu từ một quốc gia khác để tiết kiệm đô la phát triển. Cân nhắc, câu trả lời của bạn có thể đúng nhưng không hữu ích. –

+0

đủ chính xác, giá rẻ = rẻ tiền & chất lượng kém – akf

+0

@ Dennis Tôi hoàn toàn đồng ý, tôi sẽ không. Trong thực tế, tôi có thể bỏ thuốc lá nếu tôi làm việc cho một công ty muốn cam kết tương lai với một nhóm phát triển từ một quốc gia khác bởi vì tôi sẽ xem nó như một công ty bị tiêu diệt - nhưng quan điểm của tôi là tôi chưa bao giờ thấy một trường hợp một nhà phát triển thực sự có bất kỳ sự lựa chọn nào trong vấn đề này. Công ty có thể cố gắng làm cho bạn nghĩ rằng bạn có một sự lựa chọn trong vấn đề này, nhưng cho dù bạn có phản đối khó khăn đến mức nào và bạn cho họ thấy họ thiếu chi phí bao nhiêu, họ sẽ làm những gì họ đã quyết định làm. –

4

Nếu mọi người nói cùng một ngôn ngữ và bạn sẽ không bán mã cho công ty khác thì bạn có thể viết mã bằng ngôn ngữ mẹ đẻ của họ.

Nếu mỗi thành viên nói một ngôn ngữ khác thì mã phải bằng tiếng Anh. Cố gắng tạo một từ điển các từ phổ biến nhất được sử dụng trong ứng dụng mà mọi người có thể kiểm tra. Chọn một người có nhiều kỹ năng tiếng Anh hơn để dịch khi cần thiết.

Và bạn luôn có thể cấu trúc lại khi một số từ có vẻ sai.

+1

Tôi thích ý tưởng từ điển – Shawn

7

Bạn có thể đặt tên biến 'một chủ đề' cho mỗi đánh giá mã. Nó sẽ là một vấn đề của mục chương trình nghị sự thực tế có thể dễ dàng để thảo luận. Bạn có thể sử dụng các cuộc thảo luận như một thước đo để xem liệu họ có hiểu những gì họ đang cố gắng đạt được hay không.

+1

Cho đến nay, ý tưởng khả thi duy nhất ở đây. Xem xét mã và chỉ thay đổi chúng - nên tầm thường trong nhật thực/netbeans. Thông thường, bạn cần dành một nhà phát triển cho mỗi 2-4 nhà phát triển ở nước ngoài nếu bạn muốn dự án của bạn thậm chí còn thành công dù sao, vì vậy chỉ cần thêm điều này vào như một trong những điều bạn phải làm. Nếu quản lý hiểu nguyên tắc này, họ sẽ ít có khả năng đi ra nước ngoài để được giúp đỡ! –

2

Tôi không có ý định quan trọng, nhưng tôi có một câu hỏi thực ... Nếu họ không đủ thông thạo tiếng Anh để đặt tên biến, họ đủ thông thạo để hiểu mô hình miền doanh nghiệp dựa trên tiếng Anh , ít thiết kế và xây dựng một sản phẩm phần mềm giải quyết vấn đề trong thế giới thực trong miền đó?

+0

họ không làm nhiều thiết kế, thực hiện nhiều phần mềm tùy chỉnh, sửa lỗi, v.v. họ tuân theo một thông số khá cứng nhắc, nhưng việc duy trì mã (ngoài khối sao chép khối) có thể là một cơn ác mộng với các biến được đặt tên hoàn toàn không liên quan với nhiệm vụ của họ – Shawn

+0

Đây là một kịch bản. Một nhóm các lập trình viên khá thành thạo và hầu hết hiểu một số kỹ thuật viết tiếng Anh nhưng không thể nói và viết ngôn ngữ đã đạt được một số danh tiếng viết phần mềm nguồn đóng cho các khách hàng nói tiếng Anh của họ (nhờ quản lý nói tiếng Anh tốt). Cho đến nay rất tốt, vì không ai quan tâm cách họ đặt tên cho thực thể của họ.Tuy nhiên, bây giờ họ quyết định chuyển sang hợp tác với một số người, nói rằng, công ty phần mềm người Mỹ bị té ngã vì danh tiếng của họ, và chỉ sau đó vấn đề với err ... xấu xí? .. đặt tên ra mắt. Bạn đây rồi. –

1

Tôi không chắc chắn về vấn đề cụ thể, tức là tên biến không mang tính mô tả, hoặc chúng sử dụng tên biến không phải là tiếng Anh, kiểu đặt tên biến không nhất quán, vv Dù bằng cách nào, bạn có thể thử thiết lập các tiêu chuẩn mã hóa chi tiết và có lẽ sử dụng kiểm tra mã hoặc đánh giá để thực thi chúng. Ví dụ:

  • Sử dụng "tạm thời" như tên của các biến địa phương không được phép
  • biến phải được đặt tên như vậy rằng mục đích của biến là rõ ràng
  • Luôn luôn sử dụng một phong cách phù hợp để đặt tên biến (ví dụ: Camel Case)

Điều quan trọng là xuất bản các quy tắc này và thực thi chúng cho toàn bộ tổ chức.

+0

đây là thứ mà chúng tôi đã thử. tiếc là làm cho các quy tắc về những gì nên được thực hiện không bao giờ có thể giúp với nội dung thực tế của các tên biến. họ có thể ngừng sử dụng vỏ bọc Hungary, họ luôn có thể sử dụng vỏ bọc nhất quán, v.v., nhưng họ sẽ không bao giờ sử dụng các tên biến như numberOfMissingPageTemplates - nó sẽ chỉ là thứ gì đó giống như truy cập – Shawn

Các vấn đề liên quan