前端:HTML、CSS、JavaScript 代码注释 / 注释与代码规范

一、HTML 行内注释

HTML注释是在HTML代码中添加说明和解释的一种方法,这些注释不会被浏览器渲染或显示在页面上,而是被浏览器忽略。HTML注释对于代码的可读性、可维护性和团队协作非常重要。

1.1、HTML注释的语法

HTML注释的语法是以<!--开始,以-->结束。在这两个标记之间的任何内容都被视为注释。

1.2、示例

<!DOCTYPE html>  
<html lang="en">  
<head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>HTML注释示例</title>  <!-- 这是一个HTML注释 -->  <!--  这是一个多行HTML注释  可以跨越多行  并包含任何文本  -->  
</head>  
<body>  <h1>欢迎来到我的网页</h1>  <!-- 这里可以放置对h1标签的注释,例如:"h1标签用于显示页面主标题" -->  <p>这是一个段落。</p>  
</body>  
</html>

1.3、HTML注释的用途

解释代码:为HTML代码提供说明,解释代码的用途、功能或特定元素的意义。

标记代码块:用于标记特定的代码块,以便将来参考或修改。

临时移除代码:如果不想删除某段代码,但又不希望它出现在页面上,可以将其注释起来。

为开发人员提供指导:如果有某些需要注意的潜在问题或风险,可以使用注释来提醒其他开发人员。

1.4、HTML注释的最佳实践

简短而有意义:注释应该简短而清晰,能够准确地传达代码的含义和目的。

避免冗余:不要为显而易见的代码或默认行为添加注释。

一致性:在团队开发中,应保持注释风格的一致性,以便其他开发人员能够轻松理解。

位于被注释的代码附近:通常,注释应位于被注释的代码之前或之上,以便于阅读和理解。

使用有意义的注释:确保注释提供了有价值的信息,而不是简单的“TODO”或“此处需要修改”。

二、CSS 注释

CSS注释是一种在CSS代码中添加说明和解释的方法,它们不会被浏览器执行或解析,而是被浏览器忽略。CSS注释对于代码的可读性、可维护性和团队协作非常重要。

2.1、CSS注释的语法

单行注释

语法:/* 单行注释内容 */

语法://

/* 为所有 h1 标签设置 CSS 样式 */

多行注释

/*  
多行注释内容  
可以跨越多行  
*/

这样也是可以的 

3.2、CSS注释的用途

解释代码:为CSS代码提供说明,解释代码的用途、功能或特定样式设置的原因。

标记代码块:用于标记特定的代码块,以便将来参考或修改。

禁用代码:如果不想删除某段代码,但又不希望它被执行,可以将其注释起来。

警告其他开发人员:如果有某些需要注意的潜在问题或风险,可以使用注释来提醒其他开发人员。

3.3、CSS注释的最佳实践

简短而有意义:注释应该简短而清晰,能够准确地传达代码的含义和目的。

避免冗余:不要为显而易见的代码或默认行为添加注释。

一致性:在团队开发中,应保持注释风格的一致性,以便其他开发人员能够轻松理解。

位于被注释的代码之前:通常,注释应位于被注释的代码之前,以便于阅读和理解。

使用单行注释或多行注释:对于较短的注释,可以使用单行注释;对于较长的注释或需要跨越多行的注释,应使用多行注释。

3.4、示例

/* 为所有 h1 标签设置 CSS 样式 */  
h1 {  color: blue; /* 设置字体颜色为蓝色 */  text-align: center; /* 设置对齐方式为居中对齐 */  
}  /* 为所有 p 标签设置 CSS 样式 */  
p {  color: red; /* 设置字体颜色为红色 */  font-size: 18px; /* 设置字体大小为18像素 */  
}

三、JavaScript 注释

3.1、单行注释

使用//来标记单行注释。这之后的文本将不会被JavaScript引擎执行或解释。

// 这是一个单行注释
var x = 5; // 这个变量的值为5

3.2、多行注释

使用/*开始,并用*/结束来标记多行注释。在这之间的所有文本都不会被JavaScript引擎执行或解释。

/*
这是一个多行注释
可以跨越多行
var y = 10;
*/

四、JSDoc注释

4.1、常用的JSDoc标记

@param:描述函数或方法的参数。包括参数名、参数类型和参数描述。

@returns 或 @return:描述函数或方法的返回值。包括返回值的类型和描述。

@type:描述变量、对象属性或函数返回值的类型。

@description:提供关于注释块的更详细描述。

@example:提供示例代码。

@see:提供参考链接。

4.2、示例

/**  * 将两个数字相加,第二个数字可选,默认为0  *  * @param {number} a 第一个数字  * @param {number} [b=0] 第二个数字,默认为0  * @returns {number} 两个数字的和  */  
function add(a, b = 0) {  return a + b;  
}

五、代码注释规范 

代码注释规范是确保代码清晰、可理解和可维护的重要部分。下面是一些常见的代码注释规范:

5.1、注释类型

单行注释:使用//来注释单行内容。

多行注释:使用/* 开始,*/ 结束来注释多行内容。

文档注释(如JSDoc):对于函数、类、接口等,使用特定的文档注释格式来描述其用法、参数、返回值等信息。

5.2、注释内容

简洁明了:注释应简洁、直接,避免冗长和复杂的句子。

描述性:解释代码的目的、功能、输入、输出以及任何重要的限制或约束。

避免冗余:不要重复代码本身已经表达的内容。

5.3、注释位置

函数/方法上方:解释函数/方法的用途、参数、返回值等信息。

代码块上方:如果代码块执行了复杂的逻辑或算法,可以在其上方添加注释。

变量声明旁边:对于复杂的或具有特定含义的变量,可以在其旁边添加注释。

关键或复杂代码行旁边:如果某行代码特别关键或难以理解,可以在其旁边添加注释。

5.4、注释格式

一致性:确保在整个项目中使用一致的注释格式。

对齐:注释应该与代码对齐,以增加可读性。

字体和颜色:在某些IDE或编辑器中,可以为注释设置特定的字体和颜色。

5.5、特殊注释

TODO:用于标记需要将来完成或改进的代码部分。

FIXME:用于标记需要修复的错误或问题。

HACK:用于标记可能不优雅的解决方案或权宜之计。

5.6、避免过度注释

不要为简单的、自解释的代码添加注释。

如果代码本身已经很清晰,那么注释可能是多余的。

5.7、更新注释

当代码发生变化时,确保相关的注释也得到更新。

移除不再相关或不再准确的注释。

5.8、文档注释

对于文档注释(如JavaDoc、JSDoc等),应遵循特定的格式和标记规范,以确保生成的文档清晰、完整。

5.9、注释语言

使用简单、清晰的语言来编写注释。

避免使用复杂的词汇或行业特定的术语,除非这些术语在项目的上下文中是普遍理解的。

5.10、注释的审查

在代码审查中,确保注释得到适当的关注。

检查注释是否准确、清晰,并与代码保持一致。

遵循这些注释规范可以帮助你编写更清晰、可维护的代码,并提高团队协作的效率。

参考链接

前端代码规范 - 代码注释_前端注释-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优化系统小工具

一款利用VB6编写的系统优化小工具&#xff0c;系统优化、桌面优化、清理垃圾、查找文件等功能。 下载:https://download.csdn.net/download/ty5858/89432367

Emacs之显示blame插件:blamer、git-messenger(一百四十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

云渲染农场使用指南:如何以最低成本享受最快渲染速度?

​云渲染农场怎么低成本享受快速渲染&#xff1f; 云渲染农场利用其分布式计算能力&#xff0c;为视觉艺术家提供了一种经济高效的渲染选择。它特别适用于高质量的影视动画和视觉效果制作。下面一起来看看如何以最低的成本实现快速渲染的策略。 在追求成本效益的同时&#xff…

引领AI新时代:深度学习与大模型的关键技术

文章目录 &#x1f4d1;前言一、内容概述二、作者简介三、书籍特色四、学习平台与资源 &#x1f4d1;前言 在数字化浪潮席卷全球的今天&#xff0c;人工智能&#xff08;AI&#xff09;和深度学习技术已经渗透到我们生活的方方面面。从智能手机中的智能语音助手&#xff0c;到…

【C++提高编程-10】----C++ STL常用拷贝和替换算法

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

电路分析期末总结笔记下

对称三相电路的线电流和相电流&#xff0c;线电压和相电压关系 相电压与线电压的关系 线电压定义&#xff1a;任意两相之间的电压称为线电压&#xff0c;常用符号V_L表示。 相电压定义&#xff1a;一相绕组两端的电压称为相电压&#xff0c;常用符号V_P表示。 关系&#xff1…

linux挂载硬盘(解决linux不显示硬盘问题)

目录 1.查看系统有几块硬盘2.查看挂载情况3.格式化硬盘4.创建挂载目录用于挂载硬盘5.将硬盘挂载到指定的挂载目录6.随系统自启动挂载查看配置文件&#xff0c;看是否已经把这条命令加入配置 帮同门解决挂载失败问题记录 参考视频&#xff1a;只要6步&#xff01;Linux系统下挂载…

网络爬虫Xpath开发工具的使用

开发人员在编写网络爬虫程序时若遇到解析网页数据的问题&#xff0c;则需要花费大量的时间编 写与测试路径表达式&#xff0c;以确认是否可以解析出所需要的数据。为帮助开发人员在网页上直接 测试路径表达式是否正确&#xff0c;我们在这里推荐一款比较好用的 XPath 开发工…

【Text2SQL 论文】MAGIC:为 Text2SQL 任务自动生成 self-correction guideline

论文&#xff1a;MAGIC: Generating Self-Correction Guideline for In-Context Text-to-SQL ⭐⭐⭐ 莱顿大学 & Microsoft, arXiv:2406.12692 一、论文速读 DIN-SQL 模型中使用了一个 self-correction 模块&#xff0c;他把 LLM 直接生成的 SQL 带上一些 guidelines 的 p…

【跟我学RISC-V】(三)openEuler特别篇

写在前面 这篇文章是跟我学RISC-V指令集的第三期&#xff0c;距离我上一次发文已经过去一个多月了&#xff0c;在这个月里我加入了oerv的实习项目组&#xff0c;并且还要准备期末考试&#xff0c;比较忙&#xff0c;所以更新频率不高&#xff0c;不过对于Linux kernel和RISC-V…

Opencv学习项目6——pyzbar

在之前我们学习了解码图片中的二维码&#xff0c;这次我们开启摄像头来解码视频中二维码 开启摄像头 # 打开摄像头 cap cv2.VideoCapture(0) cap.set(3, 640) # 设置摄像头画面宽度 cap.set(4, 480) # 设置摄像头画面高度 我使用的是笔记本上的摄像头来进行的&#xff0c;…

腰背肌筋膜炎的症状及治疗

腰背肌筋膜炎的症状 一、疼痛特点&#xff1a; 主要表现为腰背部弥漫性钝痛&#xff0c;尤以两侧腰肌及髂嵴上方更为明显。疼痛特点为晨起痛&#xff0c;日间轻&#xff0c;傍晚复重。长时间不活动或活动过度均可诱发疼痛&#xff0c;病程长&#xff0c;且因劳累及气候变化而发…

如何运用Midjourney探究新中式美学?

新中式美学最近真是越来越火了&#xff0c;把传统中式元素和现代设计结合起来&#xff0c;不仅看着舒服&#xff0c;还特别有文化韵味。 1. 研究和准备 首先&#xff0c;得先弄清楚什么是新中式美学。说白了&#xff0c;就是把传统中式元素和现代设计结合起来。你可以看看相关…

#03动态规划

要点&#xff1a; 动态规划方法与贪心法、分治法的异同&#xff1b; 动态规划方法的基本要素与求解步骤&#xff1b; 动态规划方法的应用。 难点&#xff1a; 如何根据问题的最优子结构性质构造构造动态规划方法中的递归公式或动态规划方程。 动态规划的基本思想 动态规…

算法与数据结构面试宝典——迭代与递归详解与示例(C#,C++)

文章目录 一、迭代与递归简介迭代递归 二、迭代与递归的应用场景迭代递归 三、迭代与递归的优缺点迭代优缺点递归优缺点 四、迭代与递归的示例及面试策略示例1&#xff1a;斐波那契数列&#xff08;迭代实现&#xff09;示例2&#xff1a;快速排序&#xff08;递归实现&#xf…

大学网页制作作品1

作品须知&#xff1a;1.该网页作品预计分为5个页面&#xff08;其中1个登录页面&#xff0c;1个首页主页面&#xff0c;3个分页面&#xff09;&#xff0c;如需要可自行删改增加页面。&#xff08;总共约800行html,1200行css,100行js&#xff09; 2.此网页源代码只用于学习和模…

R语言——数据与运算

练习基本运算&#xff1a; v <- c(2,4,6,9)t <- c(1,4,7,9)print(v>t)print(v < t)print(v t)print(v!t)print(v>t)print(v<t) v <- c(3,1,TRUE,23i)t <- c(4,1,FALSE,23i)print(v&t)print(v|t)print(!v)v <- c(3,0,TRUE,22i)t <- c(1,3,T…

【启明智显产品分享】Model4 工业级HMI芯片详解(三):高安全、防抄板

Model4 工业级HMI芯片详解系列专题&#xff08;三&#xff09;【高安全、防抄板】 随着物联网和智能设备的快速发展&#xff0c;设备安全认证的需求日益迫切。硬件安全认证和保护在确保设备和身份安全中发挥着不可替代的作用&#xff0c;需要与软件安全相结合&#xff0c;共同构…

[Python人工智能] 四十六.PyTorch入门 (1)环境搭建、神经网络普及和Torch基础知识

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解合如何利用keras和tensorflow构建基于注意力机制的CNN-BiLSTM-ATT-CRF模型,并实现中文实体识别研究。这篇文章将介绍PyTorch入门知识。前面我们的Python人工智能主要以TensorFlow和Keras为主,…

STM32--IAP程序升级实验

1. STM32程序升级方法 1.1 ST-link / J-link下载 将编译生成的hex文件使用ST-Link/J-Link工具直接下载进 Flash 即可。Keil中点击下载也能一键下载。下载后的代码会存放在Flash的起始地址0x0800 0000处。 简单补充一句&#xff0c;bin文件和hex文件的区别&#xff1a; bin文…