注释 (计算机语言)
2020-10-14 23:34:24
在计算机语言中,注释是计算机语言的一个重要组成部分,用于在源代码中解释代码的功用,可以增强程序的可读性,可维护性,或者用于在源代码中处理不需运行的代码段,来调试程序的功能执行。
注释在随源代码进入预处理器或编译器处理后会被移除,不会在目标代码中保留其相关信息。
怎么用注释是一个备受争论的论题,观点是各种各样的,有时候甚至观点是正相反的。写法也是各种各样,有时候意见也是存在矛盾的。
注释可以用于提供伪代码的大纲,并根据该大纲编写代码。通过这种形式,代码的逻辑会更加清晰。/* 反向循环所有从服务获取的元素(他们应该按照时间顺序执行)*/for (i = (numElementsReturned - 1); i >= 0; i--){ /* 处理每一个元素里的数据 */ updatePattern(i, returnedElements);}
如果在提交代码时,注释没有被删除,那么代码审查者可以根据注释比较代码和意图的拟合度。一个常见的误解——理解代码想要做什么是很简单的事情。
注释可用于代码内容的总结、表达开发者的意图。持该观点的学者认为,用更为简单的英语去解释代码是多余的。 需要重新解释地代码,可能意味是候代码太复杂,这时候需要去重写或者重命名。
注释也可用于解释一个代码块有什么缺陷,为什么不是最好的方案。这对项目相当紧张、修正bug尤其有效。例如:' Second variable dim because of server errors produced when reuse form data. No' documentation available on server behavior issue, so just coding around it.vtx = server.mappath("local settings")
值得注意的是,上述内容是针对英语国家的程序员。而在非英语国家里,通过当地语言去解释代码、翻译代码的意思,这种行为是很常见的,也普遍被接受的。
比如,下面程序将增加一个注释来解释为什么插入排序没有被快速排序所替代,即使理论上前者比后者更慢。这将写为如下:list = ; // Need a stable sort. Besides, the performance really does not matter. insertion_sort (list);
元数据和资源
在注释中,可以插入各种资源和元数据。
下面是Spring框架中的一段注释,用于表达著作权。/* * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */