2010-10-27 26 views
6

Vâng, tiêu đề là tự giải thích. Tôi tự hỏi điều này trong khi biên soạn một dự án có nhiều dòng nhận xét. Đó là một chút ngớ ngẩn bởi vì các tập tin jar sẽ không tăng nhiều (một số byte) nhưng tôi tò mò nếu điều này có thể ảnh hưởng đến một chương trình với rất nhiều mã và ý kiến.Java có bao gồm các nhận xét trên mã đã biên dịch không?

Cảm ơn

Trả lời

3

Nó sẽ không ảnh hưởng đến việc thực hiện hoặc thực hiện (trừ khi bạn đã nhận xét ra những điều khoản sai :-)

Nhưng nó chắc chắn sẽ ảnh hưởng đến khả năng đọc. Không có lý do gì để có các khối mã nhận xét lớn (trong quá trình sản xuất), version control là cách để đi

Xem this question cũng. Câu hỏi đã đóng.

+0

Cảm ơn tất cả các câu trả lời. Tôi chỉ làm một số công cụ cơ bản mà không sử dụng subversion hoặc bất cứ điều gì, nhưng khi tôi sử dụng các công cụ như vậy tôi sẽ nhớ lời khuyên của bạn! – oli206

+0

Tiêu đề khiến tôi tò mò về nội dung của nó. [Original] (http://stackoverflow.com/questions/123423/do-you-leave-historical-code-commented-out-in-classes-that-you-update) đã bị xóa, không biết tại sao. Liên kết tới * Bạn có để lại mã lịch sử đã nhận xét trong các lớp mà bạn cập nhật không? * Có thể tìm thấy tại đây (https://web.archive.org/web/20140819230320/http://stackoverflow.com/questions/123423/do-you-leave-historical-code-comment-out-in-classes-mà-bạn-cập nhật #). – Daniel

+0

Liên kết đến "câu hỏi này" không còn hoạt động nữa. – mikebabcock

14

Không, bình luận thường được loại bỏ bằng bất kỳ ngôn ngữ nào (không chỉ bằng Java). Họ không có đại diện trong mã byte. Có gì ở lại trong đó, được chú thích cụ và như vậy

+0

Không phải tất cả chúng :-) Trong PHP, bạn thực sự có thể phản ánh các nhận xét của một lớp hoặc phương pháp. Xem http://www.php.net/manual/en/reflectionclass.getdoccomment.php. –

+1

Vâng, PHP là một ngôn ngữ thông dịch. Vì vậy, mã của bạn không được biên dịch như trong Java, C#, C++, ... Nếu bạn sử dụng một cái gì đó như eAccelerator đã lưu mã trong đại diện được biên dịch của họ, bạn sẽ không thể sử dụng chức năng này, vì các nhận xét đã bị loại bỏ – Scoregraphic

3

Không, tài liệu không được bao gồm trong tệp lớp được biên dịch.

javadocs có thể được tạo bằng chương trình javadoc. Tất cả javadoc sẽ được chuyển đổi thành HTML.

2

Không, điều này không được thêm vào.

Tuy nhiên, bạn nên xem xét giết mã chết (ví dụ: mã nhận xét, nhưng cũng không sử dụng mã). Nếu bạn nghĩ rằng "có lẽ tôi sẽ cần phương pháp đó một lần nữa", chỉ cần xóa phương thức và nếu bạn thực sự cần phương pháp này một ngày, hãy sử dụng công cụ SCM (Subversion, Git, CVS hoặc bất kỳ thứ gì) để truy xuất mã cũ này. ..

+0

hm, tôi có thể hỏi tại sao không? – XXL

+0

@XXL Mã nhận xét: nếu mã được nhận xét, điều đó có nghĩa là mã không được sử dụng nữa. Vậy tại sao giữ nó? (bạn có thể tìm thấy nó một lần nữa với SCM của bạn, đó là mục đích của nó). Mã số chết: cùng một nhận xét: nếu không được sử dụng tại sao giữ nó? – romaintaz

-8

Có JAVA bao gồm nhận xét trong mã được biên dịch vì không bao gồm cách nó sẽ đến để biết rằng đây có phải là nhận xét hay không. Nhưng sau khi bao gồm dòng nhận xét không được gửi đến chỉ thị biên dịch để biên dịch.

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