实现注释

对逻辑复杂或重要的地方加实现注释。 比如,一段函数实现了某个不常见算法,只需要在这一段代码前说清楚是什么算法就可以,而不用在算法的每一行都添加注释说明。 注意:不要用自然语言翻译代码作为注释,要假定读代码的人C++|Python|Java|Php|JS比你强。

示例

/**
 * 使用Kadane算法计算数组中具有最大和的连续子数组。
 * Kadane算法可以在O(n)时间内解决这个问题。
 */
int maxSubArray(vector<int>& nums) {
    int maxSoFar = nums[0], maxEndingHere = nums[0];
    for (int i = 1; i < nums.size(); ++i) {
        maxEndingHere = max(nums[i], maxEndingHere + nums[i]);
        maxSoFar = max(maxSoFar, maxEndingHere);
    }
    return maxSoFar;
}

不推荐示例

// 计算数组的总和
int sum = 0;
// 遍历数组中的每个元素
for (int i = 0; i < arraySize; ++i) {
    // 将当前元素加到总和中
    sum += array[i];
}
  • 注释过于详细,实际上只是重复了代码的直观含义。
  • 这种注释没有提供额外的价值,反而降低了代码的阅读效率。