“注释: 爱恨交织的双重标准?解析注释在代码开发中的作用。”

news2024/11/17 20:34:31

文章目录

  • 每日一句正能量
  • 前言
  • 观点和故事
  • 程序员不写注释的原因是什么
  • 如何才能写出漂亮的注释
  • 后记

在这里插入图片描述

每日一句正能量

水与水之间有距离,但地心下直相牵,人与人之间有距离,但心里时刻挂念,发条短信道声晚安,梦里我们相见。

前言

代码注释是程序员在开发过程中经常会遇到的问题之一。有些程序员认为注释非常必要,因为它们可以解释代码中的意图和功能。但是也有一些程序员不喜欢写注释,因为他们认为代码应该是自描述的,不应该需要注释来阐明自己的意图。不管是哪种立场,都有它的道理。在这篇文章中,我将探讨程序员对注释的看法,并分享我对于不写注释的程序员的看法。

观点和故事

关于写注释这个事吧,身边的人确实有说好的,也有说不好的。对于初学者来说,我个人还是觉得写注释和有注释会友好一点。再一个,随着时间的推移,有些代码可能自己本人都会忘记,这个是很正常的现象,这个时候就体现出了注释的重要性了。这个在公司的项目本人也确实是经历过这样的事情。对于不想写注释的人来说,理由是写了之后看着会很乱,也有说代码写好了就是最好的注释,对于这两种来说,就需要个人能力的提高了。

还有一个,有些公司是有注释模板以及开发模板的。我自己也写了一篇注释模板,没看过的可以先看一下:

  • Java、Android 新建类自动添加头部注释以及如何添加函数注释模板和快捷键

然而,我认为程序员不写注释的行为是需要引起重视的,因为注释是基于文档的编程的一部份,可以帮助团队中其他成员更好地了解代码的运行逻辑和设计意图,也方便后续的维护和升级。

在我的观察中,一些程序员可能会觉得写注释会浪费时间和精力,尤其是当他们写的代码比较短小简洁时,认为代码本身就足够清晰易懂,没有必要再添加注释。其实,这个观点并不准确。编写注释并不一定需要太多的时间和精力,只要能够简洁明了地表达代码的意图即可。同时,在团队合作的过程中,写注释能够帮助其他成员更好地理解代码,减少沟通成本和时间。

我也听说过一些程序员写的代码很难理解,即使是经验较丰富的程序员也很难从中得到需要的信息。这时候,注释能够帮助其他成员更好地理解代码并提高团队效率。在我的经验中,注释可以包括以下信息:

  1. 代码的功能和作用
  2. 变量的含义和用途
  3. 方法的参数和返回值
  4. 非常规或复杂的算法实现细节
  5. 这段代码的背景,为什么这段代码需要存在
  6. 代码的相关限制和注意事项

总的来说,我认为程序员应该养成写注释的好习惯。在进行团队协作开发时,写注释能够帮助代码更好地理解和维护。同时,注释也能够激励程序员更好地组织代码,使代码更易读和易维护。

程序员不写注释的原因是什么

在我的看来,程序员不写注释的原因主要是以下几点:

  1. 缺乏意识:有些程序员可能没有意识到注释的重要性,或者没有养成良好的注释习惯。
  2. 时间紧迫:在开发周期紧张的情况下,程序员可能会觉得写注释会浪费时间和精力,因此忽略了对代码的注释。
  3. 个人编程习惯:有些程序员喜欢自己一个人写代码,习惯于从自己的代码中去理解和解决问题,不太注重写注释。
  4. 技术水平:一些程序员可能在技术水平比较低的情况下写代码,不了解写注释的重要性和方法,或者不知道如何写好的注释。
  5. 态度问题:有些程序员可能对写注释抱有消极态度,认为写注释是“烦琐的工作”,并不能直接带来效益,或者认为代码质量足够好,不需要注释。

根据我的经验,如果程序员不写注释,将会导致代码难以理解,团队协作效率降低,并且在维护和更新代码时容易出现问题。因此,我认为程序员应该尽可能地写好注释,并且将其视为代码本身的一部分。同时,团队管理人员也应该引导和鼓励程序员写注释,为项目的顺利进行提供保障。

如何才能写出漂亮的注释

我认为程序员应该养成良好的注释习惯,因为注释对代码的可读性和可维护性都有很大的帮助,特别是在代码需要交接或者长期维护的情况下。如果是时间压力导致不写注释,可以尝试在编写代码的同时逐步添加注释,这样也不会耽误太多时间。

关于写出漂亮的注释,我认为以下几点是很重要的:

  1. 语言要简洁明了:注释应该用简单明了的语言来表达,而不是使用过于专业的术语和缩写,这样可以让更多人理解。

  2. 注释要准确:注释应该准确地描述代码的功能和意图,并避免与代码产生歧义。

  3. 注释要规范:遵循约定俗成的注释规范,例如注释前需要加上符号“//”或“/**/”,注释应排版整齐等。

  4. 注释要有层次感:代码注释应该有分层次的结构,便于读者阅读和理解,例如可以用标题、段落、列表等形式来组织注释。

总之,写出漂亮的注释需要良好的语言表达能力和规范意识,同时要注重注释的准确性和整体结构。

后记

注释可以让代码更易于理解和维护。当你写代码时,可能很清楚自己的思路,但过了一段时间后,很容易就忘记了当初为什么要写这段代码。这时候,代码注释就非常有用了,能够帮助你记住当时的思考过程和意图,也能够让其他人更加容易读懂你的代码。

另一方面,程序员不写注释可能也有一些原因。有时候,程序员可能觉得代码足够清晰,不需要注释;有时候,程序员可能觉得写注释浪费时间,不如继续写代码;还有些情况下,程序员可能是懒惰或者不重视注释这项工作。

总之,代码注释是非常重要的一项工作,能够提高代码的可读性和可维护性。但是,如何权衡注释与代码编写的效率,需要具体情况具体分析。

转载自:https://blog.csdn.net/u014727709/article/details/133749808
欢迎start,欢迎评论,欢迎指正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1077531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

岛屿的数量

题目描述 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以…

Programming abstractions in C阅读笔记:p176-p178

《Programming Abstractions In C》学习第59天,p176-p178总结。 一、技术总结 1.addtive sequences tn tn-1 tn-2 序列:3, 7, 10, 17, 27, 44, 71, 115, 186, 301, 487, 788, 1275, … p177, As a general class, the sequences that follow this…

面试总结-Redis篇章(十二)——Redis是单线程的,为什么还那么快

Redis是单线程的,为什么还那么快 Redis是单线程的,为什么还那么快什么是IO多路复用 阻塞IO非阻塞IOIO多路复用 Redis是单线程的,为什么还那么快 Redis是纯内存操作,执行速度非常快采用单线程,避免不必要的上下文切换可…

【面试经典150 | 哈希表】单词规律

文章目录 写在前面Tag题目来源题目解读解题思路方法一:哈希表 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内…

mysql面试题34:Hash索引和B+树区别是什么?在设计索引怎么选择?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Hash索引和B+树区别是什么?在设计索引怎么选择? 在MySQL中,Hash索引和B+树索引是两种常见的索引类型,他们有以下区别: 数据结构:Hash索引:…

999、Android --问题处理-1

1、打开其他人开发的程序报错 Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Faile to apply plugin […] 解决问题: preoject视图下,文件gradle.properties添加语句 android.overridePathChecktrue

Spring Framework中的org.springframework.stereotype包:为你的应用程序定义“典型”

🥭导言: Spring Framework是一个强大的开发框架,它大大简化了Java应用程序的开发和管理。org.springframework.stereotype 注解家族是Spring的核心注解之一,它们允许开发人员定义和标识不同类型的组件,以便Spring能够…

Java | 类、实例初始化 、方法重写规则

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 类、实例初始化 、方法重写规则 类的初始化过…

PL2303驱动程序不支持WINDOWS 11及后续版本

到网上下载PL2303的驱动程序, 双击安装这个驱动程序,安装完成后双击这个端口, 这个端口的驱动程序是我们刚才安装的,选中 点击下一步,问题解决。如下图已经没有之前的提示了

NoSQL数据库(林子雨慕课课程)

文章目录 5.1 NoSQL数据库5.2 NoSQL和关系数据库的比较5.3 四大类型NoSQL数据库5.3.1 键值数据库和列族数据库5.3.2 文档数据库、图数据库、以及不同数据库比较分析 5.4 NoSQL数据库的理论基石CAP理论:BASE理论:Eventual consistency(最终一致…

Stretched mesh

https://www.particleincell.com/2015/stretched-mesh/

2023年中国光子嫩肤行业市场规模及市场格局分析[图]

随时间推移,光子嫩肤行业朝着功效提升和风险降低的方向发展,所使用的强脉冲光技术不断升级革新。因此,在原有的强脉冲光子嫩肤项目基础上,延伸出完美强脉冲光技术、窄谱强脉冲光技术应用的光子嫩肤细分品类。 光子嫩肤分类 资料来…

绘制一个五角红星图形(Python)

#Five_Star.py from turtle import * #导入turtle库 pensize(10) #设置画笔的宽度 begin_fill() #开始绘画 pencolor(red) #设置画笔颜色 fillcolor(yellow) #设置填充颜色 for i in range(5): #设置一个…

【C++】运算符重载案例 - 字符串类 ② ( 重载 等号 = 运算符 | 重载 数组下标 [] 操作符 | 完整代码示例 )

文章目录 一、重载 等号 运算符1、等号 运算符 与 拷贝构造函数2、重载 等号 运算符 - 右操作数为 String 对象3、不同的右操作数对应的 重载运算符函数 二、重载 下标 [] 运算符三、完整代码示例1、String.h 类头文件2、String.cpp 类实现3、Test.cpp 测试类4、执行结果 一…

多线程(线程互斥)

抢票代码编写 学习了前面有关线程库的操作后,我们就可以模拟抢票的过程 假设我们创建四个线程,分别代表我们的用户 然后设定总票数为1000张,四个线程分别将进行循环抢票操作,其实就是循环对票数进行打印,并进行对应的…

【小记】Java将字符串中的EL表达式动态转换为Map中的值

项目中碰到了这样的问题&#xff0c;例如数据库中有一个字符串模版如下&#xff1a; ${userNamme}开启了一个新的${project}我们要替换里面的${}表达式&#xff0c;来实现动态的生成完整的信息~实现方式很简单如下&#xff1a; 引入pom依赖&#xff1a; <dependency>&l…

【附代码】使用Shapely计算多边形外扩与收缩

文章目录 相关文献效果图代码 作者&#xff1a;小猪快跑 基础数学&计算数学&#xff0c;从事优化领域5年&#xff0c;主要研究方向&#xff1a;MIP求解器、整数规划、随机规划、智能优化算法 本文档介绍如何使用 Shapely Python 包 计算多边形外扩与收缩。 如有错误&…

软件测试面试,5年测试工程师竟被面试官10分钟pass,这些问题一定要注意啊!

随着软件测试领域对于技术要求越来越清晰&#xff0c;到现在测试人员在市场上的岗位需求也变得越来越复杂。极大部分的企业都开始对自动化测试岗位有了更多的需要。自然而然&#xff0c;面试就相对于非常重要了。 网络上有着各式各样的测试框架的存在&#xff0c;我也不知道我…

Mall脚手架总结(三) —— MongoDB存储浏览数据

前言 通过Elasticsearch整合章节的学习&#xff0c;我们了解SpringData框架以及相应的衍生查询的方式操作数据读写的语法。MongoDB的相关操作也同样是借助Spring Data框架&#xff0c;因此这篇文章的内容比较简单&#xff0c;重点还是弄清楚MongoDB的使用场景以及如何通过Sprin…

LeetCode862 和至少为k的最短子数组

题目&#xff1a; 解析&#xff1a; 1、先构造前缀和数组 2、单调队列存放滑动窗口&#xff0c;目的求Sj-Si >k的情况下&#xff0c;窗口最小。 代码&#xff1a; class Solution {public int shortestSubarray(int[] nums, int k) {int n nums.length;long[] sums new …