2012-10-01 27 views
17

Tôi đã (cuối cùng) được đọc trên các tiêu chuẩn mã hóa PEAR (php).mục đích của các dấu hoa thị phụ trong nhận xét php là gì?

/** 
* Here is my comment 
* I Wrote this in a haiku 
* But why put the stars? 
*/ 

Trái ngược với điều này::

/* 
    Here is a comment 
    No haiku or 
    anything special, but it still works! 
*/ 
+9

Tôi không hiểu phiếu bầu gần. Đó là một câu hỏi hợp pháp. Có một lý do thực sự để bình luận theo cách này. – bstpierre

Trả lời

13

Tài liệu /** stuff */ cũng được gọi là DocBlock ký hiệu.

Nó được sử dụng để ghi lại các chức năng PHP, lớp học, vv

/** 
* A test function 
* 
* @param foo $bar 
* @return baz 
*/ 
function test(foo $bar) { return new baz; } 

Một số biên tập viên tận dụng tốt những điều này để thực hiện tính năng Mã Cái nhìn sâu sắc của họ, một công cụ rất mạnh mẽ mà làm giảm thời gian bạn phải bỏ ra nhìn các khai báo hàm cũ của bạn. Aptana và Zend Studio có tính năng này, có lẽ là những tính năng khác.

Bạn cũng có thể sử dụng kết hợp với Reflection để thực hiện một số loại AOP, thực hiện kiểm tra thời gian chạy của DocBlock phía trên các khai báo của bạn. Trong thực tế, Doctrine sử dụng nó để xây dựng một object attribute map cho triển khai "Active Record" của chúng.

2

Độ khó

mục đích cho ý kiến ​​như thế này là gì.

Nó nêu rõ phần nhận xét cho những người đọc mã.

+0

Đó là những gì tôi nghĩ ... Vì vậy, nó là đúng cho dễ đọc? Không có lợi ích khác? –

+1

nếu bạn đang sử dụng một trình soạn thảo không làm nổi bật ngữ cảnh, nó giúp làm rõ/xác định các khối chú thích dài hơn – Dave

+2

Điều này không hoàn toàn đúng. TECHNICALLY đó là một hình thức để sử dụng dấu hoa thị dobule. Nhưng các hệ thống tài liệu, như phpdoc, dựa vào nó. – dcbarans

2

Tôi nghĩ rằng phần lớn chỉ dành cho giao diện/khả năng đọc. Hãy tưởng tượng bạn có một phần bình luận rất dài mở rộng ra ngoài một màn hình. Sau đó, nhìn thấy những dấu hoa thị đó cho bạn biết đó là một phần của nhận xét ngay cả khi bạn không thể thấy phần đầu và cuối.

3

Tôi đồng ý với ajon và Quentin. Chủ yếu là dễ đọc. Tuy nhiên, có một điều nữa.

Có các trình tạo tài liệu tự động (như doxygen).

Chúng yêu cầu một số định dạng nhận xét cụ thể để đưa những nhận xét này vào tài liệu. Tôi tin rằng kiểu nhận xét này được sử dụng chính xác cho mục đích này (xem trang tài liệu doxygen sau đây - http://www.stack.nl/~dimitri/doxygen/docblocks.html)

+0

Yea, tôi đã tìm thấy điều này khi tìm kiếm doxygen, vì vậy tôi giả sử có * đã * nhiều hơn một chút cho nó –

3

Bình luận dấu hoa thị đôi khi được sử dụng bởi các hệ thống tài liệu nhất định. Hệ thống tài liệu sẽ xử lý khối và tìm các từ khóa nhất định như @author hoặc @var.

Nhận xét dấu sao đơn lẻ được coi là // nhận xét.

Xem PHPDoc http://www.phpdoc.org/docs/latest/guides/types.html

1

Nếu bạn sử dụng soạn thảo văn bản miễn phí jEdit tuyệt vời để chỉnh sửa PHP của bạn nó làm nổi bật mã trong màu sắc khác nhau để hiển thị một động từ là gì, những gì là một biến, vv

Nếu bạn nhận xét ra một khối với/* ... */mọi thứ bên trong khối chuyển sang màu cam, khiến bạn khó đọc mã.

Nếu bạn thay vào đó nhận xét nó bằng/** ... */thì nó sẽ thay đổi mọi thứ trong khối thành một bộ màu khác vẫn làm nổi bật các phần khác nhau của mã, có nghĩa là mã vẫn rất dễ đọc.

PS. Nếu bạn sử dụng Notepad hoặc tương tự để chỉnh sửa mã PHP của bạn thì tôi khuyên bạn nên có được jEdit. Nó sẽ giúp bạn tiết kiệm rất nhiều thời gian và thất vọng. Những điều như tự động cho biết bắt đầu và kết thúc của {},(), v.v.

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