Khi tôi lập trình, tôi thường thấy bản thân mình viết các hàm mà -should- (là tiếng Anh thích hợp) chứa dấu nháy đơn (quá xấu C bắt đầu mọi người nghĩ rằng dấu nháy đơn là dấu phân cách thích hợp). Ví dụ: get_user's_group() -> get_users_group()
. Các bạn làm gì với tiếng Anh
cưỡng bức-xấu-tiếng Anh
không rõ ràng này? Chỉ cần bỏ qua dấu nháy đơn? Tạo một cách khác nhau?Làm thế nào để bạn làm việc xung quanh sự cần thiết của dấu nháy đơn trong một số tên hàm?
Trả lời
Trong trường hợp đó, tôi sẽ làm get_group_for_user()
.
Vì vậy, vâng, tôi sẽ "tạo ra một phân nhịp khác nhau" :)
Dù rằng, hoặc user.get_group()
.
+1 user.getGroup() chính xác có nghĩa là có được nhóm của người dùng. – JCasso
Bỏ qua, hãy tiếp tục!
Mặc dù get_user_group()
cũng sẽ hoạt động trong trường hợp này.
Hoặc là get_user_ApostropheShouldBeHereButLanguageWillNotLetMe_s_group
hoặc chỉ bỏ qua nó vì nó thực sự không quan trọng.
Điều quan trọng đối với người khác khi đọc mã là get_users_group có thể có nghĩa là (ít nhất) hai thứ khác nhau. –
Nếu bạn có tài liệu thích hợp, tôi không nghĩ rằng nó sẽ là một việc lớn. –
Nó quan trọng, nhưng không đủ để sống. Một rephrasing đơn giản là tất cả những gì cần thiết. – keyboardP
Thông thường tôi chỉ cần thả các dấu nháy đơn, nhưng làm việc back-ve? (get_user`s_group)
Tôi bỏ qua apostraphe getGroupyUser
và group_from_user
đều dễ hiểu. Lo lắng về việc có ngữ pháp chính xác trong tên chức năng của bạn là một sự lãng phí thời gian và phân tâm từ mục tiêu chính xác của việc có tên người dùng rõ ràng và dễ hiểu.
getGroupOfUser
? getUserGroup
?
Đó là một ngôn ngữ lập trình, chứ không phải văn chương ...
Sẽ getBackgroundColour
bằng tiếng Anh phù hợp (chứ không phải getBackgroundColor
)
điểm của tiếng Anh đúng đắn trong chức năng đặt tên là một chút cực đoan ...
i có nghĩa là tại sao dấu nháy đơn làm phiền bạn nhưng _ thay vì một khoảng trắng thì không?
Vì không ai từng sử dụng _ trong viết/nói thông thường. Các dấu nháy đơn, mặt khác, khá cơ bản. – Kzqai
đó không phải là quan điểm của tôi ...tôi có nghĩa là tại sao nó ok để thay thế không gian và không apostrophes .. nếu các vấn đề là những gì char để sử dụng bạn có thể thay thế apostropes là tốt với _ –
Công bằng đủ. Tôi đoán đó là _ là một sự thay thế hiệu quả cho không gian, trong khi dấu nháy đơn không có sự thay thế hữu ích mà tôi có thể nghĩ đến. * nhún vai * – Kzqai
Tùy thuộc vào ngôn ngữ lập trình bạn có thể sử dụng Unicode tên biến, this SO thread lists a few.
Với định danh Unicode bạn có thể sử dụng một trong những unicode apostrophes để cung cấp cho các định dạng ngôn ngữ tiếng Anh thích hợp để tên biến của bạn. Mặc dù điều này chỉ mang tính suy đoán. Và sẽ rất khó để duy trì. Trên thực tế, bây giờ tôi nghĩ về nó, nó âm thanh hết sức ác.
Bạn thậm chí có thể thêm dấu cách unicode vào tên hàm. –
Bây giờ đó là tinh khiết ác – leepowers
tôi muốn xem ai đó đang cố gắng để gọi những chức năng .. lol –
Cá nhân tôi muốn viết get_user_group()
thay vì get_group_for_user()
vì cảm giác như nó đọc tốt hơn cho tôi.Tất nhiên, tôi sử dụng một ngôn ngữ lập trình mà dấu nháy được phép trong tên:
proc get_user's_group {id} {#...}
Mặc dù, một số người dùng nhiều hơn không phải tiếng Anh bản địa châu Âu sử dụng nó như một tách từ:
proc user'group {id} {#...}
với mỗi người tôi đoán ..
Hai điểm: Trước tiên, không sử dụng tên mà nếu không sẽ yêu cầu dấu nháy đơn nếu bạn có thể tránh được. Thứ hai, bạn có quyền quan tâm đến sự mơ hồ. Ví dụ: bạn có thể có:
getUsersGroup
: là nhóm danh sách người dùng. Nếu bạn đang sử dụng một ngôn ngữ hướng đối tượng, điều này có thể có nhiều thông tin hơn chỉ là một chuỗi ID nhóm. Bạn cũng có thể có một cái gì đó nhưcreateUsersGroup
, điều này sẽ tạo đối tượng nhóm từ danh sách người dùng được chuyển.getGroupOfUser
: có một số loại đối tượng người dùng; trả về tên của nhóm người dùnggetGroupByUserId
: lấy tên người dùng hoặc ID duy nhất được liên kết với người dùng đó; trả về tên của nhóm người dùng
Cách tốt nhất để phân biệt sự khác biệt giữa tất cả những điều này là chỉ sử dụng các nhận xét phương pháp chuẩn giải thích tên phương thức. Điều này sẽ phụ thuộc vào ngôn ngữ bạn đang làm việc và kiểu ý kiến của phương thức mà tổ chức của bạn thường sử dụng.
Chắc chắn nó không phải về tiếng Anh xấu đặc biệt là mối quan tâm về ngữ pháp nhưng lập trình! Tôi đồng ý rằng bất kỳ việc đặt tên nào cũng sẽ giúp mô tả những gì lớp/thuộc tính/phương thức cụ thể đó cung cấp và điều đó. – David
Nhìn vào mặt tươi sáng: ít nhất bạn sẽ không nhận được bất kỳ dấu nháy đơn nào của người bán rau. –
Tôi đoán, như tôi đề cập bên dưới, đó là sự mơ hồ của các cụm từ kết quả (get_users_group là ví dụ của tôi) làm phiền tôi, nhiều hơn "nó không phải là tiếng Anh thích hợp" điều. – Kzqai