Logo

郎哥编程

代码注释

2019-12-08 962

代码的注释对编写的代码起到一个解释的作用,借助于代码注释可以让其他开发者很容易看懂你写的代码,理解代码结构,也有助于你在很长时间后,能够看懂自己写的代码。

一段没有注释的代码:

public static void main(String[] args) {
   int num1,num2,result;
   Scanner sc = new Scanner(System.in);
   System.out.println("请输入长方形的长度");
   num1 = sc.nextInt();
   System.out.println("请输入长方形的宽度");
   num2 = sc.nextInt();
   if( num1 <=0 || num2 <=0 )
   {
      System.out.println("您输入的长度和宽度小于或等于0,程序将退出");
      System.exit(0);
   }
   result = num1 * num2;
   System.out.println("长方形的面积为:" + result);
}

虽然没有代码注释,但对Java代码有一定了解的人,看懂这段代码还是非常容易的,从语句中也能理解程序的功能和代码的作用。

再看这段没有注释的代码:

public void BobbleSort() {
        int[] arr = { 6, 3, 8, 2, 9, 1 };
        for (int num : arr) {
            System.out.print(num + " ");
        }
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }

知道上面的代码啥意思吗?没有一定Java基础的人,想看懂有一定难度。不过从方法名字也可以判断出来,这是冒泡排序的算法。

下面的这段代码是不是很容易理解了呢?

public void BobbleSort() {
        //声明待排序的整型数组
        int[] arr = { 6, 3, 8, 2, 9, 1 };
        //输出排序前的数组元素
        for (int num : arr) {
            System.out.print(num + " ");
        }
          /**
         * 用for循环语句控制数组的扫描趟数,
         * 扫描趟数为待排序数组元素的个数减去1
         */
        for (int i = 0; i < arr.length - 1; i++) {
             /**
             * 用for循环遍历待排序数组元素,并进行比较和位置交换,
             * 循环范围介于0到排序数组元素的个数减去1再减去外层循环当前执行的扫描趟数
             */
            for (int j = 0; j < arr.length - 1 - i; j++) {
                //交换数组元素
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        //输出排序后的数组元素
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }

代码加上注释后,就很容易看懂冒泡排序的算法了,也有助于了解冒泡排序的算法原理。

如何正确地给代码增加注释呢?下面从注释标签规范、注释基本要求、块注释、单行注释、尾端注释方面进行说明。

(1)注释标签规范

给代码加注释需要采用符合javadoc标准的注释标签语法,以便使用工具自动生成相关文档。注释标签见下表。

image.png


(2)注释基本要求

给代码添加注释是为了增加对程序的阅读理解,因此注释的内容要清楚、明了,含义准确,防止注释二义性;源代码有效注释行的数量应在程序行数量的20%以上;在class文件头部应进行注释,注释应列出:版权说明、版本号、生成日期、作者、功能描述等内容。

(3)块注释

块注释通常用于提供对文件、方法、数据结构和算法的描述。放置于每个文件以及每个方法之前,也可用于其他地方,如方法内部。功能和方法内部的块注释,应与所描述的代码具有相同的缩进格式,块注释之首应该有一个空行,用于把块注释和代码分割开来。

“/**”符号是块注释的开始,“*/”符号是块注释的结束,在注释块中,每行注释内容以“*”符号开始。

示例:

/**
* Here is a block comment one.
* Here is a block comment two.
* …………
*/

(4)单行注释

单行注释用于对语句及语句块的解释,一般放置在语句或语句块的前面。注释可显示在一行内,并与其后的代码具有相同的缩进层级。

“//”为单行注释标记,从符号“//”开始直到换行为止的所有内容都是注释内容。

单行注释也可以使用“/**/”注释标记,符号“/*”与“*/”之间的所有内容均为注释内容。

示例:

if (condition)
{
    /* Handle the condition. */
    ...
   // Handle the condition.
...
}

(5)尾端注释

尾端注释一般紧跟在语句的后面加以解释,与语句在同一行。但应有足够的空白分开代码和注释。

示例:

if (a == 2)
{
  return TRUE;      /* special case */
}
else
{
  return isPrime(a); /* works only for odd a */
}

良好的代码注释有助于对程序的理解。遵循注释标签规范可以使用工具自动生成相关文档。给代码添加注释是为了增加对程序的阅读理解,因此注释的内容要清楚、明了,含义准确。对类、方法、功能的注释一般采用块注释。对语句的注释多采用单行注释。


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论