13个代码注释的小贴士

私彩视频开奖动画直播源码内部核心技术解析及修改可增加后台操控-持续更新文章! 其实在此很感谢能做出H5开奖系统的码农们,而我本人也喜欢分解此类的东西。 因为特殊原因,该东西本人就不做图片展示,以防他人商业化。 借用开奖摇奖代码首先分解首页index文件。代码如下:(后面持续在原有的作品上添加后台操作) 代码里写的//.....是我的注明代码的所需。 ​ <!DOCTYPE html> <html> <head> <... 阅读详情

下面的13条小贴士可以帮助你写出更规范、更容易维护的代码注释。

1、逐层注释

使用统一格式对每一个语句块进行注释,如:

  • 类:简单描述、作者、最后修改时间等
  • 方法:关于该方法的目的、函数、参数、返回值的描述

在团队工作中,使用统一的注释规范显得尤为重要。当然,也推荐使用一些专门用来添加代码注释的工具,如C#中的XML、Java中的Javadoc等。

2、使用段落型注释

将代码分割成能完成独立任务的段落,并在其前后添加注释,告诉读者程序将要做什么。

// 检查所有的记录是否正确
foreach (Record record in records) 
{
    if (rec.checkStatus()==Status.OK)
    { 
        . . . 
    } 
} 
// 现在开始进行事务处理
Context ctx = new ApplicationContext(); 
ctx.BeginTransaction();
. . .

3、对齐连续的行注释

若对多行添加行末注释,应将注释进行对齐,以便于阅读。

const MAX_ITEMS = 10; // 数据包的最大数量 
const MASK = 0x1F;    // TCP标志位

有些程序远使用制表符来进行对齐,有些则使用空格。建议使用空格来对齐,因为不同的代码编辑器对制表符的处理会不一样。

4、不要侮辱读者的智商

不要用这样的注释:

if (a == 5)      // 如果a等于5
    counter = 0; // 就将counter的值赋为0

这样做只会浪费你的时间,而且读者的注意力会被从代码中转移。

5、注意礼貌

避免使用无礼的注释,如:注意有些蠢蛋会输入一个负数;这修复了程序最初版本遇到的问题,那个无个救药的笨蛋。这样的注释会反映作者的素质,而且你不知道将来谁会读到你的程序:你的老板、顾客,或者是你刚才辱骂过的那个程序员。

6、讲重点

不要在写冗余的注释,也不要用所谓的字符艺术、玩笑、小诗等。总之要保持注释的简单和直接。

7、坚持统一风格

有些人认为代码注释应该简单到让不会编程的人也能看懂,另一些人则认为代码注释只要让程序员看懂就可以了。不管怎样,正如《撰写代码注释的成功策略 》中所提到的,代码注释的风格应该是固定的,是为同一个观众准备的。而且我个人认为不太会有非程序员来阅读代码,所以代码注释应该只是针对其他程序员的。

8、使用内部统一规定的标签

在进行团队开发时,可以在注释中使用一些特殊的标签。比如在一些团队中使用“TODO:“标签来表示这里还需要完成其他的一些任务。

int Estimate(int x, int y)
{
    // TODO: 实现这项计算
    return 0;
}

这里所使用的标签注释并不是用来解释代码,而是引起读者注意并传递一些信息。如果你的团队确实在使用这类注释,就要保证会依此进行作业。

9、边写代码边注释

在写代码的时候,乘脑中记忆还清晰,及时写上注释。如果你想在程序编写完之后再添加注释,也许就会花费你两倍的时间。“我没有时间添加注释”、“我很忙”、“这个项目已经有所拖延了”都将会是你的借口。有些程序员认为你应该在编写代码之前就写好注释 ,以为你的最终方案作出计划。如:

    public void ProcessOrder() 
    {
        // 保证这些产品是可以购买得到的
        // 检查用户时候合法
        // 向商店发出订单
        // 生成账单
    }

10、就当是为自己写注释(事实上的确是让你自己看的)

在添加代码注释时,要想到这些注释不仅是为将来维护代码的程序员而写,也是为你自己而写。用伟大的Phil Haack 的话来说:“当一行代码写好并出现在屏幕上时,你就变成了一名维护人员。”所以,我们自己将会成为代码注释的第一个受益人或受害者。

11、更新代码时同时更新注释

如果注释不随着代码的改变而修改,那在准备的注释也是没有用的。代码和注释应该始终保持同步,否则这些文不对题的注视将使维护人员摸不着头脑。对于那些自动添加注释的工具要格外注意,不要让它忽略更新注释。

12、黄金准则:写可读的代码

有一条基本准备叫“让代码解释它自己”。虽然有人认为这个倡议是由一个懒得写注释的程序提出的,但不可否认的是一条可以自我解释的代码可以让其变得更为易懂,并让注释显得不那么重要。如,在我的Fluid Interfaces 文章中有一些可以自我解释的代码的例子:

Calculator calc = new Calculator();
calc.Set(0);
calc.Add(10);
calc.Multiply(2);
calc.Subtract(4);
Console.WriteLine( "Result: {0}", calc.Get() );

在这个例子中,代码不需要注释,否则会违反本文的第四条贴士。要写出可读的代码,你应该考虑使用恰当的名称(在Ottinger's Rules 中有所叙述),确保标识正确,并根据代码规范 来撰写。如果没有遵循此条建议,注释可能会被看作是代码的一种“道歉”。

13、和你的同事分享这些贴士

虽然第10条贴士说我们自己将是代码注释的第一个受益者,但如果把这些贴士分享给你的同事,尤其是在同一个团队中工作的同事,你就会发现你们写出的代码注释会更为易懂和易于维护。

机器人关节电机发热难题:从工程化角度拆解热管理解决方案(下) 摘要:本文系统分析了机器人关节电机与驱动系统的热管理方案,重点解决局部热点问题。针对不同功率场景提出了热管/均热板散热(适用于中小功率)和液冷散热(适用于高功率)的具体实施方案,详细比较了结构参数、材料选择、安装工艺和散热效果。特别强调了电机-驱动协同热管理的重要性,提出"工况联动+热路径共享"的核心理念,包括一体化散热结构设计和动态控制策略。最后介绍了热仿真与测试验证方法,确保方案的有效落地。通过系统级热管理,可显著降低温升(热点区域降温30-60℃),同时优化体积和能耗。 阅读详情

相关推荐

ROS 2 + Astra Pro深度相机实战:5分钟搞定远程可视化与距离检测(附避坑指南)

本文提供了一份详尽的ROS 2与Astra Pro深度相机集成实战指南。通过5分钟快速部署,实现远程可视化与实时目标距离检测。文章涵盖驱动安装、SSH+X11远程调试、核心测距节点编写,并附有详细的避坑指南,帮助开发者高效构建机器人视觉感知系统。

weixin_29232507的博客 278

纯css实现坤坤经典动作-“铁山靠”

2023年2月16日,晴,今天没有工作,一直在掘金摸鱼,摸的我好累。不行!我得找点有意义的事情做!此时间,我发的一条沸点竟然有小黑子给我评论,\我看到之后气不打一处来,哥哥这么努力,还有这么多人黑我家哥哥,作为工作时间一坤年的,我要尽我的绵薄之力还原哥哥的舞姿!让你们臣服!

坚信万物皆可切的切图仔 1万+

基础矩阵、本质矩阵、单应矩阵

基础矩阵是一个 3×3 的秩为2的矩阵,用于描述两个不同视图(或称为图像)之间对应点的几何约束。更具体地说,如果你有两幅图像,分别从两个不同的相机或者相机位置拍摄,那么基础矩阵可以用于找到一个图像中的点在另一个图像中的对应点。本质矩阵也是一个 3×3 的秩为2的矩阵,与基础矩阵非常类似。当两个视图(图像)之间的场景是一个平面或者两个视图之间仅有旋转和平移时,可以使用单应矩阵来关联这两个视图。这三个矩阵都是在计算机视觉中广泛应用的基础工具,但它们适用于不同类型的视图和场景。给定两个图像中的一对对应点。

Gloamirror的博客 1327

如何写出优雅的React代码Clean Code vs. Dirty Code

如何写出优雅的React代码Clean Code vs. Dirty Code 不要写重复的代码 // Dirty const MyComponent = () => ( <div> <OtherComponent type="a" className="colorful" foo={123} bar={456} /> <OtherComponent type="b" className="colorful" foo={123} bar={456} /

mengsandy的专栏 664

如何读懂CiteSpace图谱?科研小白必看的节点颜色/年轮/聚类解读手册

本文详细解析CiteSpace图谱的核心视觉元素,包括节点颜色、年轮和聚类标识,帮助科研人员准确解读数据分析结果。通过生物医学案例展示如何从图谱中识别关键文献和研究趋势,提供五步系统解读法和常见错误规避策略,助力科研小白快速掌握文献计量分析技巧。

weixin_29179311的博客 314

MSVS C# Matlab的混合编程系列2 - 构建一个复杂(含多个M文件)的动态库:

本节我们尝试将一个有很多函数和文件的Matlab算法文件集成到C#的项目里面。

山云的专栏 2068

关于注释的小tips

在写代码的过程中,如果你有一些还未成熟的代码,需要注释掉,直接用//注释,会有一大片的绿色(visual studio code),看起来非常丑,而且让人心烦,这个时候就可以: // x = a + b; // y = c + d; // z = e + f; //非常丑,而且如果内容很多,会有大片的注释颜色 //这个时候就可以 if(0){ x = a + b; y = c + d; z = e + f; } //如果功能还没成熟,那么你大概率会加一个参数控制,如果你想直接关掉,这个时候就

weixin_43523490的博客 125

【python爬虫--爬取电商商品及对其销量、好差评等数据进行分析】Python爬虫爬取电商商品及大数据分析-实战

选择目标电商网站:这里选择爬取两个不同电商网站(比如京东、淘宝)上的商品数据,包括商品名称、价格、销量和评价信息。编写爬虫:通过爬虫获取商品信息并保存数据。数据清洗与对齐:将两个电商网站抓取到的数据进行统一清洗和对齐。数据分析:进行销量分析、好评与差评分析等。

Dreams°的博客 4011

每个程序员需掌握的20个代码命名小贴士

代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。 1.使用能够表达意图的名字 名字得能告诉我们它要做什么,为什么存在,以及是如何工作的。选择能够表达意图的名字,将更有利于我们理解代码。 int d; // elapsed time in days int elapsedT

我生苍茫 4138

95.qt qml-诺谦通用可扩展多功能QML界面

如下图所示:自带一个功能界面,可以通过功能界面添加不同功能,并且可以固定到顶部水平导航栏中,对于N多小功能的项目而言,非常方便,这样用户就可以根据自己喜好来使用自己常用的功能了。

抵抗时间扭曲,坚持做一件有意义的事 3048

在 RAP 中把业务对象“搬到网口上”:service definition 与 service binding 的全流程、范式与实战

本文解析了SAP ABAP开发中service definition和service binding的关键作用。service definition负责选择要暴露的CDS实体和行为,形成服务模型;而service binding则将服务绑定到具体协议(如OData),生成可访问的端点。两者分离带来三大优势:支持同一模型多重发布、降低环境迁移耦合度、强化安全治理。文章通过预订业务对象的端到端示例,展示了如何从CDS建模到生成Fiori Elements预览。最后以售后工单业务为例,说明这种架构如何支持内外服务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 390

程序员需掌握的20个代码命名小贴士

代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。 1.使用能够表达意图的名字 名字得能告诉我们它要做什么,为什么存在,以及是如何工作的。选择能够表达意图的名字,将更有利于我们理解代码。 int d; // elapsed time in days int elapsedTimeInDays...

python学习教程 298

AI编程工具到底是初学者的绊脚石还是垫脚石?

现在是AI时代,我们要做的,是学会拥抱AI、使用AI,成为AI的驾驭者,如果你因为害怕使用AI学不到东西,那么大可不必,因为AI必然是今后的趋势,相信会用AI在今后的求职面试中也会有很大的占比。另外我之前写了多篇有关AI编程开发工具Trae的使用技巧和教程,需要的话你可以关注公众号后通过菜单栏获取。另外我也把所有Trae相关的文章整合到了腾讯ima知识库,感兴趣的可以关注公众号以后回复。

cpp加油站的专栏 184

13条注释 tips

下面的13条小贴士可以帮助你写出更规范、更容易维护的代码注释。 1、逐层注释 使用统一格式对每一个语句块进行注释,如: 类:简单描述、作者、最后修改时间等方法:关于该方法的目的、函数、参数、返回值的描述 在团队工作中,使用统一的注释规范显得尤为重要。当然,也推荐使用一些专门用来添加代码注释的工具,如C#中的XML、Java中的Javadoc等。 2、使用段落型注释

傅斯年的写字台 442

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

7Arduino 注释

注释是代码中不会被编译器执行的部分。它们用于解释代码的功能、逻辑或任何其他相关信息。注释不会影响程序的运行,但它们对于代码的可读性和可维护性至关重要。单行注释:以//开头,直到行尾。多行注释:以/*开头,以*/结尾,可以跨越多行。注释是Arduino编程中不可或缺的一部分。它们不仅可以帮助你理解代码,还可以帮助其他开发者理解你的代码逻辑。通过合理使用单行注释和多行注释,你可以大大提高代码的可读性和可维护性。提示小贴士:在编写代码时,尽量保持注释的简洁和清晰。

qq_62174860的博客 337

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

STM32驱动DS1302实战:三线时序、GPIO配置与BCD码转换详解

在嵌入式系统中,实时时钟(RTC)是数据记录、定时控制等场景的基础功能。STM32内部RTC常受限于掉电丢失和精度问题,而外部RTC芯片如DS1302通过三线串行接口和备用电池实现持续走时。其原理基于GPIO软件模拟时序,精确控制双向数据线的方向切换与时钟边沿,确保数据读写可靠。掌握DS1302驱动不仅能提升系统时间管理能力,更是理解MCU与外部芯片时序交互的经典案例。本文深入剖析DS1302的时序逻辑、GPIO配置陷阱、BCD码转换及调试经验,帮助开发者从零构建稳定驱动。

weixin_34269583的博客 362

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 什么是真正的实时操作系统
下一篇: 软核、硬核以及固核的概念
csshuke
博客等级 码龄16年 1517粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值