zoukankan      html  css  js  c++  java
  • javaDoc 注释规范

    Javadoc虽然是Sun公司为Java文档自动生成设计的,可以从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。但是Javadoc的注释也符合C的注释格式,而且doxyen也支持该种风格的注释。

    官方文档:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html

    维基百科:https://en.wikipedia.org/wiki/Javadoc

    Javadoc 的注释结构和 C 类似。都以/* 注释 */这种结构。

    Javadoc 的内容很多,先学习一下 Overview注释,类注释 和 方法注释,其他的以后再学。先贴出几段 Java 的示例代码。

    概述:

    /**
     * @author      Firstname Lastname <address @ example.com>
     * @version     2010.0331  (E.g. ISO 8601 YYYY.MMDD)
     * @since       1.6        (The Java version used)
     */
    public class Test {
        // class body
    }
    

    类:

    /**
     * A class representing a window on the screen.
     * For example:
     * <pre>
     *    Window win = new Window(parent);
     *    win.show();
     * </pre>
     *
     * @author  Sami Shaio
     * @version %I%, %G%
     * @see     java.awt.BaseWindow
     * @see     java.awt.Button
     */
    class Window extends BaseWindow {
        ...
    }

    字段/变量

    /**
     * The X-coordinate of the component.
     *
     * @see #getLocation()
     */
    int x = 1263732;
    
    /**
     * The horizontal distances of point.
     */
    public int x;

    方法:

    /**
     * Returns the character at the specified index. An index 
     * ranges from <code>0</code> to <code>length() - 1</code>.
     *
     * @param     index  the index of the desired character.
     * @return    the desired character.
     * @exception StringIndexOutOfRangeException 
     *              if the index is not in the range <code>0</code> 
     *              to <code>length()-1</code>.
     * @see       java.lang.Character#charValue()
     */
    public char charAt(int index) {
        ...
    }
    
    /**
     * Validates a chess move.
     *
     * @param theFromFile file from which a piece is being moved
     * @param theFromRank rank from which a piece is being moved
     * @param theToFile   file to which a piece is being moved
     * @param theToRank   rank to which a piece is being moved
     * @return            true if the move is valid, otherwise false
     */
    boolean isValidMove(int theFromFile, int theFromRank, int theToFile, int theToRank) {
        // ...body
    }
    
    /**
     * Moves a chess piece.
     *
     * @see java.math.RoundingMode
     */
    void doMove(int theFromFile, int theFromRank, int theToFile, int theToRank)  {
        // ...body
    }

    其实这些注释形式都差不多,主要是 tag 不同下面介绍一下 tag 及含义。

    Tag & ParameterUsageApplies toSince
    @author name Describes an author.
    描述作者
    Class, Interface  
    @version version Provides version entry. Max one per Class or Interface.
    版本条目,每个类或接口最多有一个
    Class, Interface  
    @since since-text Describes since when this functionality has existed.
    描述这个功能块从何时有的
    Class, Interface, Field, Method  
    @see reference Provides a link to other element of documentation.
    提供链接到其他文档元素的链接
    Class, Interface, Field, Method  
    @param name description Describes a method parameter.
    描述一个参数
    Method  
    @return description Describes the return value.
    描述返回值
    Method  
    @exception classname description
    @throws classname description
    Describes an exception that may be thrown from this method.
    描述该方法可能抛出的异常
    Method  
    @deprecated description Describes an outdated method.
    描述一个过期的方法
    Method  
    {@inheritDoc} Copies the description from the overridden method.
    从复写方法出拷贝来得描述
    Overriding Method 1.4.0
    {@link reference} Link to other symbol.
    连到其他的引用
    Class, Interface, Field, Method  
    {@value} Return the value of a static field.
    返回一个静态作用域的值
    Static Field 1.4.0

    延伸阅读:

    IntelliJ IDEA 学习(五)类注释和自定义方法注释

  • 相关阅读:
    bzoj3996
    bzoj3157 3516
    bzoj1937
    bzoj1532
    bzoj3572
    bzoj1453
    bzoj3205
    bzoj2595
    关于高斯消元解决xor问题的总结
    linux查找和替换命令
  • 原文地址:https://www.cnblogs.com/52php/p/6881443.html
Copyright © 2011-2022 走看看