2010-04-29 29 views
5

nếu chúng tôi có quá nhiều mã nhận xét trong .net, nó có ảnh hưởng đến hiệu suất mã không?Nếu chúng ta có quá nhiều mã nhận xét trong .net nó có ảnh hưởng đến hiệu suất mã không?

+0

Bạn có thể đưa ra ví dụ về mã như vậy với nhận xét không? – Marcel

+4

Nhưng nhiều bình luận sẽ ảnh hưởng đến việc bảo trì của bạn, bởi vì bạn có thể ghi đè lên mã của mình (nếu không bạn sẽ không có vấn đề này) - –

+1

Tránh khoảng trống - chúng làm tổn thương hiệu năng nhiều như bình luận. Điều đó bao gồm ký tự '\ n'! –

Trả lời

16

Nó sẽ chỉ ảnh hưởng đến thời gian cần để biên dịch mã của bạn (bởi trình biên dịch C#/VB) sang IL. Đối với C# và VB.NET, không có sự khác biệt về hiệu suất thời gian chạy, được đảm bảo.

14

Hầu như tất cả các ngôn ngữ được biên dịch đều hủy nhận xét khi tạo nhị phân kết quả (bao gồm tất cả ngôn ngữ .NET, Java, ngôn ngữ không được quản lý, v.v.).

Ngôn ngữ phiên dịch (như JavaScript, khi không được biên dịch), có thể có hiệu suất nhỏ, vì người thông dịch phải bỏ qua các nhận xét. Nhưng nó quá nhỏ bạn không nên quan tâm đến chính mình với nó.

Câu hỏi thực sự là lý do tại sao bạn cần có quá nhiều nhận xét? Một dư luận có thể làm tổn thương khả năng đọc và do đó bảo trì. Nhận xét phải ngắn gọn, chính xác và ngắn gọn và không nên nêu rõ ràng (ví dụ: i++; // increment loop counter). Họ sẽ giúp giải thích lý do tại sao một cái gì đó đã được thực hiện (trường hợp cạnh, hack), mô tả cách thức và thời điểm sử dụng mã (tài liệu API) hoặc giải thích ý chính của những gì đang diễn ra trong phương thức hoặc lớp học. Nếu mã không đọc được, hãy thử tái cấu trúc mã. Nếu có các quy trình kinh doanh phức tạp, mô tả chúng sâu hơn trong tài liệu dự án thích hợp, không phải trong các bình luận mã. Ngoài ra, không để lại số lượng lớn các mã bình luận, nó đau dễ đọc hơn nữa. Nếu nó không còn cần thiết nữa, hãy xóa nó - mã đã loại bỏ sẽ tồn tại trong điều khiển nguồn của bạn.

+1

+1 để có câu trả lời hay hơn. Chắc chắn tốt hơn so với "đảm bảo" :) – Kobi

+0

Tuyệt đối, điều này là tốt hơn nhiều so với câu trả lời của tôi. Nó phải được đánh dấu là câu trả lời của OP. – Steven

1

Các ngôn ngữ thông dịch thông thường sẽ bị ảnh hưởng do có thêm nhận xét trong mã. Nhưng C# là một ngôn ngữ biên dịch và các chú thích không ảnh hưởng đến việc thực thi. Khi bắt đầu biên dịch, các trình biên dịch loại bỏ tất cả các dòng bắt đầu bằng // ký tự và cũng là văn bản giữa/* và */delimiters. Do đó sẽ không có sự suy giảm hiệu suất.

3

Không hề. Kết quả mã bytecode IL sẽ giống nhau, có hoặc không có chú thích, có hoặc không có thụt lề, v.v.

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