前端: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.mzph.cn/bicheng/34961.shtml

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

相关文章

大学生必备!GitHub星标破千的matlab教程(从新手到骨灰级玩家)

MATLAB&#xff08;Matrix Laboratory&#xff09;是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。 MATLAB具有数值分析、数值和符号计算、工程与科学绘图、数字图像处理、财务与金融工程等功能&#xf…

【传拓研学】传承文化瑰宝,领略千年韵味

非遗薪火&#xff0c;传承中华文明 文化繁荣&#xff0c;共筑美好未来 在这风云变幻的时代&#xff0c;我们始终怀揣着对历史与文化的敬仰之情。今日&#xff0c;我们隆重向您推荐一项极具意义的活动——传拓研学活动。 传拓是我国一项古老的传统技艺&#xff0c;非遗物质文…

jenkins api部署时,一直提示pending-Finished waiting

问题&#xff1a; 调用jenkins api部署时&#xff0c;一直提示pending-Finished waiting 解决方案&#xff1a; 这个问题困扰了很久&#xff0c;一直没有思路&#xff0c;后面看到调用jenkinsAPI本身会出现一段提示&#xff0c;pending in the quiet period&#xff0c;通过搜…

优雅谈大模型13:LangChain Vs. LlamaIndex

实时了解业内动态&#xff0c;论文是最好的桥梁&#xff0c;专栏精选论文重点解读热点论文&#xff0c;围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;…

流水线构建ipa实战

# 进入当前工作空间目录 cd ${WORKSPACE}/# Project名称 PROJECT_NAME"xxx"## Scheme名&#xff0c; 具体获取看图一 SCHEME_NAME"xxx"## 编译类型 Debug/Release二选一 BUILD_TYPE"Release"## 项目根路径&#xff0c;.xcodeproj文件所在路径 PR…

String(C++)

文章目录 前言文档介绍经典题目讲解HJ1 字符串最后一个单词的长度 模拟实现框架构造函数析构函数迭代器c_str()赋值size()capacity()reserveempty()[ ]访问front/backpush_backappendoperatorinsert一个字符insert一个字符串eraseswapfind一个字符find一个字符串substr()clear(…

手慢无!限量奶茶免费领,千元大奖组队赢!

&#x1f680; AI 卡片大作战全新启动&#xff01;&#xff01;&#x1f552; 限时两周&#xff0c;组队狂欢&#xff01;&#x1f46b; 邀请好友&#xff0c;解锁免费奶茶福利&#xff01;&#x1f4b0; 学习卡片&#xff0c;赢取 1888 超级现金大奖心动不如行动&#xff0c;快…

经典游戏案例:仿植物大战僵尸

学习目标&#xff1a;仿植物大战僵尸核心玩法实现 游戏画面 项目结构目录 部分核心代码 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using Random UnityEngine.Random;public enum…

Web APIs-DOM-事件相关整理(完成网页交互)

目录 1.事件监听 2.事件监听绑定 3.事件类型 4.实例注意 5.事件对象 6.环境对象 7.回调函数 1.事件监听 &#xff08;绑定事件/注册事件&#xff09;: 程序检测有没有事件产生&#xff08;事件&#xff1a;比如单机一个按钮&#xff08;编程时系统发生的动作或者事情&a…

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

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

轻松学AI绘画:PS AI插件,小白的入门秘籍

各位AIGC创意爱好者们&#xff0c;你们是否对AI绘画充满好奇&#xff0c;却又对那些复杂的国外软件感到望而却步&#xff1f;别急&#xff0c;今天我要为大家介绍一款适合新手的国产PS AI插件——StartAI&#xff0c;它将为你的创作之路带来无限可能&#xff01; StartAI&…

大学网页制作作品1

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

短视频最火的10个拍摄技巧,新手也能这样拍出大片效果

短视频越来越占据了人们的生活&#xff0c;不管是记录生活还是发个朋友圈是不是总感觉咱们自己拍出来的效果总是不如别人呢&#xff1f;更别说发短视频平台呢&#xff01;下面就分享10个拍摄技巧大家学着试试慢慢也能拍出大片效果。 不管你以后是否发展短视频平台&#xff0c;…

免费的音频剪辑软件有哪些?分享9个实用的软件,自媒体人必备!

音频剪辑软件能够帮助我们对音视频文件实现个性化剪辑&#xff0c;包括分割、合并、添加音效、转换格式等。那么都有哪些免费好用的音频剪辑软件和方法&#xff0c;本文整理了电脑、手机、在线的音频剪辑方法&#xff0c;能够有效解决音频剪辑的需求&#xff0c;一起来看看吧&a…

本地电脑配置不足,对工业仿真计算有哪些影响?

工业仿真计算对电脑的要求相对较高&#xff0c;这主要是因为仿真过程涉及到大量的数据处理和复杂的计算任务。一个高效的工业仿真系统需要强大的计算能力和稳定的运行环境&#xff0c;以确保仿真的准确性和实时性。 工业仿真对电脑配置有哪些要求 首先&#xff0c;工业仿真计算…

基于STM32设计的智能家居远程调温系统(通过红外线控制空调)_75

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 设计的意义1.4 开发工具的选择1.5 系统框架图1.6 系统功能总结1.7 原理图二、硬件选型2.1 ESP8266-串口WIFI2.2 STM32F103C8T6开发板2.3 红外学…

题目 2721: 蓝桥杯2022年第十三届决赛真题-背包与魔法

题目 2721: 蓝桥杯2022年第十三届决赛真题-背包与魔法 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;Problem ExplanationCode ExplanationSummary 参考代码&#xff1a;_题目2721_蓝桥杯2022年第十三届决赛真题_背包与魔法 错误经验吸取 原题链接&#xff1…

Hexo结合多个主题扩展为Gallery画廊并实现文章加密

文章目录 1. 初始化2. 安装加密3. 配置文件4. 创建Token5. 新建公开仓库6. 工作流7. 实现效果1. 加密2. 画廊B主题 可能参考的文章&#xff1a; 如何优雅的使用Github Action服务来将Hexo部署到Github Pages - Hexo 当前PC环境中有Node和Git。版本可以参考Hexo文档。 文章中…

ubuntu的不同python版本的pip安装及管理

ubuntu的不同python版本的pip安装及管理_ubuntu 安装两个pip-CSDN博客https://blog.csdn.net/qq_32277533/article/details/106770850

第10章 启动过程组 (识别干系人)

第10章 启动过程组 10.2识别干系人&#xff0c;在第三版教材第361~362页&#xff1b; 文字图片音频方式 视频13 第一个知识点&#xff1a;主要工具与技术 1、数据收集 问卷调查 包括一对一调查、焦点小组讨论&#xff0c;或其他大规模信息收集技术 头脑风暴 头脑风暴&#xff…