2010-05-06 30 views
10

Tôi nên gọi biến là gì với một số loại mảng?Đặt tên biến cho mảng/danh sách/bộ sưu tập - C#

Bạn có thể sử dụng hình thức đa dạng của loại được giữ không?

IList<Person> people = new List<Person>();

hay tôi nên thêm một cái gì đó như 'Danh sách' tên?

IList<Person> personList = new List<Person>();

Ngoài ra, là nó thường có thể chấp nhận để có vòng như thế này?

foreach(string item in items) 
{ 
    //Do something 
} 

Trả lời

3

Như đã đề cập trước đây thực sự rất chủ quan nhưng tôi muốn tìm những gì tốt nhất trong trình đơn thả xuống intellisense khi bạn sử dụng các lớp vì đó có thể là điểm tương tác đầu tiên với các nhà phát triển khác sử dụng mã của bạn.

11

Quy ước mã đơn giản này, vì vậy bạn nên sử dụng nhóm của mình. Nếu bạn là duy nhất cho mỗi dự án, chỉ cần tiếp tục sử dụng cùng một quy ước bất cứ điều gì đó.

LE: vòng lặp là ok, mặc dù đó là một câu hỏi khác biệt.

1

Cá nhân tôi muốn tìm "người", tuy nhiên điều này rất có tính chủ quan và không phải là "chuẩn mã hóa". Đi với những gì bạn cảm thấy là trực quan nhất.

Và có vòng lặp của bạn hoàn toàn được chấp nhận

0

Cá nhân tôi cảm thấy rằng tên biến nên mô tả loại cũng như ngữ cảnh. Cá nhân tôi thích personList hơn :) Với tất cả các tuyên bố 'cá nhân' này, tôi đoán đó chỉ là cảm giác cá nhân của tôi :)

1

Trong các nhóm tôi đã làm việc, chúng tôi thường xem xét thực hành tốt để không phân biệt biến danh sách/mảng từ một biến đối tượng duy nhất, chỉ bằng cách sử dụng dạng số nhiều của tên.

I.e. sử dụng

object horse = new object(); 

List<object> horses = new List<object>; 

sẽ thực sự khó khăn khi bạn đọc mã. Vì vậy, bạn nên đi cho một cái gì đó giống như

object horse = new object(); 

List<object> PackOfHorses = new List<Object>(); 

như bạn đã đề cập.

Vòng lặp của bạn hoàn toàn có thể chấp nhận được. Không có gì sai với điều đó.

CHỈNH SỬA: Đã thay đổi tên phân biệt và biến do nhận xét.

+2

Vì bạn là người duy nhất đã tuyên bố "thực hành tốt nhất" thay vì "đây chỉ là ý kiến ​​của tôi", tôi nhận được không đồng ý với bạn. Trích dẫn cần thiết cho câu đầu tiên của bạn, bởi vì đó không phải là một thực hành tốt nhất. Thậm chí không phải [phiên bản gốc của ký hiệu Hungary] (http://www.joelonsoftware.com/articles/Wrong.html) được gọi là kiểu dữ liệu là một phần của tên biến. Ngoài ra, kể từ khi nào PascalCase là một thực hành tốt nhất cho các tên biến? –

+0

Có lẽ cách nói của tôi không đúng. "Nói chung nó được coi là thực hành tốt nhất" Tôi thực sự có nghĩa rằng nói chung nó được coi là 'good'practice để không chỉ sử dụng plurar của một từ (ngựa, ngựa) vì nó là khó quan sát hơn khi đọc mã. Tôi đã không cung cấp trích dẫn, bởi vì tôi đã không đọc/nghe ở một nơi duy nhất. Nó chỉ là kinh nghiệm. Đối với các kiểu dữ liệu, tôi đã không nói rằng ông nên sử dụng nó, tôi chỉ sử dụng var tên simillar cho câu hỏi của OP (ông đã sử dụng peopleList). Trong ví dụ với con ngựa tôi vừa đề cập, tôi sẽ đi ngựa - packOfHorses thay vì ngựa ngựa –

+3

Tôi chưa từng nghe ai nói rằng sử dụng số nhiều cho danh sách làm cho mã khó đọc hơn. –

1

Lý tưởng nhất, bạn sẽ sử dụng số nhiều, mặc dù có những lúc bạn có thể muốn sử dụng biểu mẫu khác. Chỉ có các nguyên tắc, không phải là quy tắc cứng và nhanh.

1

Tôi không thích sử dụng Danh sách phát vì nó có vẻ giống với lớp bạn đã viết để chứa người hơn là một biến.

0

Tôi đoán ngày xưa khi không có IDE đầy đủ tính năng, sử dụng các tên như peopleList phù hợp hơn vì chúng có thể tìm ra loại biến theo tên của nó. Nhưng ngày nay, đó không phải là vấn đề nữa.

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