Làm thế nào để đặt tên mảng hoặc danh sách khi danh từ cả số ít và số nhiều? [đóng cửa]


9

Nói chung các biến được đặt tên trong số ít Car car;và mảng và liệt kê với các plura: List<Car> cars;hoặc Car[] cars;Nhưng những danh từ như fishhoặc media* đã là số nhiều thì sao?

* đã thua trận chiến để có lớp gọi Medium.


3
"Cá" là một dạng số nhiều của "cá", ít nhất là.
Izkata

2
Tôi thường sử dụng carList/carArray
Bryan Chen

Tôi phải đồng ý với @BryanChen. Nó rất dễ sử dụng số nhiều tiếng Anh chuẩn nhưng là một ngôn ngữ tự nhiên có nhiều từ bất quy tắc. Lập trình là hợp lý. Nếu cần phải có một cách để tự động hóa việc nhận hoặc cài đặt các từ, thì sẽ rất khó thực hiện với số nhiều tiêu chuẩn. Tôi hỗ trợ sử dụng carList, fishList, v.v.
Damien Golding

Câu trả lời:


10

Có một vài cách để giải quyết vấn đề này. Không ai trong số họ là hoàn hảo, nhưng bạn có thể tìm thấy một giải pháp khả thi. Điều quan trọng là nhóm của bạn cần đưa ra một cách tiếp cận tiêu chuẩn để giải quyết vấn đề này và gắn bó với nó.

Dưới đây là một số tùy chọn:

  • Viết hoa khác nhau

Biến số được đặt tên đơn lẻ sẽ bắt đầu bằng một trường hợp (chữ thường) trong khi biến số nhiều sẽ bắt đầu với trường hợp khác (chữ hoa).

 var Fish = new List<fish>();  //plural  
 var fish = Fish[0];           //singular
  • Cố ý sử dụng ngữ pháp không đúng

Thí dụ:

 var Fishes = new List<fish>();  //plural  
 var fish = Fishes[0];           //singular  

hoặc là

 var Meese = new List<Moose>();  //plural  
 var Moose = Meese[0];           //singular
  • Sử dụng tên nhóm thay thế

Thí dụ:

 var SchoolOfFish = new List<Fish>();  //plural  
 var Fish = SchoolOfFish[0];           //singular

3

Tôi nghĩ rằng những cái tên như List<Fish> fishlà hoàn toàn tốt. Chúng tôi sử dụng "cá" là cả số ít trong số nhiều bằng văn bản; Tại sao không làm như vậy trong mã?

Nếu bạn muốn một số ít Fish fishtrong cùng một phạm vi, hãy nói để lặp lại, luôn có thể chuyển sang List<Fish> fishListhoặc List<Fish> listOfFish.


6
Danh sách <Cá> trường học
Adrian Schneider

2
chủ yếu là vì bạn thường có các quy ước mã như for( Book book : books )vậy nên số ít đã được sử dụng hoặc sẽ được sử dụng cho mục đích khác.
Sled

2

Đề nghị của tôi sẽ là cố gắng sử dụng một tên có ý nghĩa hơn cho các biến danh sách. Tôi biết điều này đôi khi khó thực hiện.

Ví dụ, thay vì List<Car> carssử dụng một cái gì đó như List<Car> parkedCars. Thay vì Fish[] fishsử dụng một cái gì đó như Fish[] availableFish.


nhưng mỗi con cá trong mảng availableFishcũng là một availableFish. Tôi không nghĩ là một giải pháp tuyệt vời.
Totty.js

Vấn đề là sử dụng các từ mô tả để soạn tên biến. Nếu bạn đặt tên cho mảng availableFishvà cần một biến khác để giữ một trong các mục trong mảng, thì bạn chỉ cần chọn một từ mô tả thích hợp khác. Có lẽ selectedFishsẽ làm việc. Nếu không phải vậy, thì cái gì khác. Sử dụng từ điển đồng nghĩa để tìm từ đúng. Nếu không có gì khác, bạn thậm chí có thể chỉ sử dụng fishcho một biến phạm vi giới hạn, vì tên này chưa được sử dụng cho mảng.
Học viên của Tiến sĩ Wily

@ totty-js Không, không có "mảng của availableFish " trong đoạn code trên. Một mảng của availableFish phương tiện -s availableFish[] insertvariablenamehere;. Lý do duy nhất bạn tạo ra nhầm lẫn là vì bạn đang sử dụng một mô tả tiếng Anh không chính xác về mã. Một số cách đọc mã tiếng Anh chính xác bao gồm: "có một mảng availableFish", "có một mảng có tên availableFish", "có một Fishmảng có tên availableFishchứa các Fishđối tượng khả dụng" ...
naki

Một câu đúng theo mẫu tương tự như câu trong bình luận của bạn sẽ là "mỗi câu Fishtrong mảng availableFishlà một Fish".
naki
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.