首页 > 教程 > 关键词  > Javascript最新资讯  > 正文

浅谈JavaScript编程语言的编码规范

2010-08-16 14:21 · 稿源:IBM

对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。也正因为这样,JavaScript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦。软件存在的长期价值直接与编码的质量成比例。编码规范能帮助我们降低编程中不必要的麻烦。而 JavaScript 代码是直接发送给客户浏览器的,直接与客户见面,编码的质量更应该受到关注。

本文浅谈 JavaScript 编程中关于编码规范的问题,分析其中缘由。希望引起更多 Web 开发人员对 JavaScript 编码规范问题的关注和对软件产品质量问题的重视。

前言

提及 C/C++ 和 Java 编码规范,相信许多工程师并不生疏。但说到 JavaScript 语言的编码规范,也许您会忍俊不禁。JavaScript 不是语法很灵活吗?变量随时用随时可以声明;语句结束符可以不要;字符串和数字也可以相加;参数多一个少一个也不会报错。没错,当您从 C/C++ 和 Java 严格的语法规定之下,转向 JavaScript 语言,会觉得自由了很多,轻松了很多。语法松散是 JavaScript 重要的特征。它灵活易懂,给开发人员带来了很多方便,但如果编写过程中不注意,代码的调试成本和维护成本则会无形地增加。

JavaScript 编码会随应被直接发送到客户端的浏览器,代码规范不只是代码质量的保证,也影响到产品的长期信誉。希望 JavaScript 编程语言的规范问题也能同样引起更多朋友的关注。

JavaScript 编码规范建议

本文就 JavaScript 编码过程中涉及的排版、命名、声明、作用域、及一些特殊符号的使用等方面,根据个人在学习工作中的总结,给出自己的一些建议,并分析其中缘由,以供参考。

JavaScript 文件引用

JavaScript 程序应该尽量放在 .js 的文件中,需要调用的时候在 HTML 中以 <script src="filename.js"> 的形式包含进来。JavaScript 代码若不是该 HTML 文件所专用的,则应尽量避免在 HTML 文件中直接编写 JavaScript 代码。因为这样会大大增加 HTML 文件的大小,无益于代码的压缩和缓存的使用。

另外,<script src="filename.js"> 标签应尽量放在文件的后面。这样会降低因加载 JavaScript 代码而影响页面中其它组件的加载时间。

代码排版

行长度

每行代码应小于 80 个字符。如果代码较长,应尽量选择换行,下一行代码应缩进 8 个空格。这样可以使代码排版整齐,减轻阅读代码的疲劳感。换行缩进 8 个空格可以和代码段的缩进 4 个空格区分开,以增强代码的可阅读性。

行结束

JavaScript 语句应该以分号结束。但大多数浏览器允许不写分号,只要在本应是分号的地方有一个换行符就行。但是如果代码行较长需要换行的时候,有哪些注意事项呢?换行应选择在操作符和标点符号之后,最好是在逗号','之后,而不要在变量名、字符串、数字、或')' ']' '++' '--'等符号之后换行。

这样可以有效的防止拷贝、粘贴而引起的错误,并可有效地增强代码的可阅读性。请见清单 1,代码的输出符合我们的期望。但就写法而言,对 valueB 的赋值语句是在变量 valueA 之后进行的换行,这很容易被误解为 valueB=ValueA,给阅读造成障碍。而对 valueC 的复制语句是在'+'之后进行的换行,就容易理解的多。这也是本文所提倡的换行方式。

清单 1. 行结束的位置

 

缩进

关于缩进的问题,不只是 JavaScript,几乎所有的语言编写的时候,都会提及缩进的问题。缩进几乎是代码编写规范的第一课,是代码可阅读性判断的直接因素。

代码缩进的好处是不言而喻的,但是对于如何缩进,则没有标准而言。最受欢迎的是方便使用 TAB 键缩进,也有些喜欢用 2 个、4 个、8 个空格进行缩进。这样缩进风格不一,也同样给代码的阅读带来障碍。

本文提倡用 4 个空格来进行缩进,并在同一产品中采用同一种缩进标准。不支持用 TAB 键进行缩进。这是因为直到现在还没有统一的标准来定义 TAB 键所代替的空白大小,有些编辑器解析为 4 个空格大小,有些则解析为 8 个。因而用不同的编辑器查看代码,可能造成格式混乱。

当然 TAB 简单易用,为解决这个问题,建议在设置开发环境时,将编辑器里的 TAB 快捷键重新设置为 4 个空格。据了解 Eclipse, Vi, Nodepad++,Editplus, UltraEdit 等流行的编辑器,均提供了此功能。

举报

  • 相关推荐
  • 华为自研仓颉编程语言宣布7月30日开源

    从具体特性来看,在原生智能化方面,仓颉编程语言内嵌AgentDSL的编程框架,实现了自然语言编程语言的有机融合。多Agent协同功能简化了符号表达,模式可自由组合,支持各类智能应用开发。在天生全场景特性上,其轻量化可缩放运行时和模块化分层设计,使得即便内存较小也能顺利运行。同时,全场景领域扩展结合元编程和eDSL技术,支持面向领域声明式开发。 高性能方面�

  • Meta拟重金加码AI赛道,传将斥资超百亿美元投资Scale AI

    Meta 正与人工智能数据服务公司 Scale AI 商讨一项巨额投资,金额可能高达或超过 100 亿美元……

  • AI日报:百度发布“绘想”平台与MuseSteamer;阿里音频驱动全身数字人模型OmniAvatar

    【AI日报】今日AI领域重要动态:1.开源语音大模型Step-Audio-AQAA发布,实现音频到语音的端到端自然转换;2.百度推出"绘想"平台与MuseSteamer,通过AI一键生成专业级视频;3.浙大与阿里联合发布OmniAvatar,音频驱动数字人技术取得突破;4.百度搜索迎十年来最大改版,新增智能框、百看和AI助手功能;5.xAI开发者控制台新增Grok4及Grok4Code引用,预示新一代AI模型即将发布;6.Gemin

  • AI日报:阿里开源3D数字人项目MNN TaoAvatar;MiniMax Agent上线;罗永浩数字人直播再探“AI+IP”带货模式

    本文汇总了AI领域最新动态:1)阿里开源MNN+TaoAvatar技术,实现手机端3D数字人实时交互;2)MiniMax升级AI工具Agent,新增智能图像搜索和多语言支持;3)罗永浩数字人将登陆百度电商直播;4)OpenAI员工套现近30亿美元,软银成最大接盘方;5)ChatGPT推出深度研究和语音模式升级;6)Meta发布V-JEPA2模型,提升机器人环境适应能力;7)AMD与OpenAI合作推出新一代AI芯片;8)Google Gemini集成Imagen4图像生成模型;9)谷歌AI实现10公里级精准天气预报;10)Gartner预测到2028年80%的AI应用开发时间将缩短50%。

  • 腾讯元宝上线AI编程模式:双栏界面实现边提需求边写代码

    今日,腾讯元宝发布更新,上线AI编程模式。 用户在电脑版选择DeepSeek模型并关闭深度思考后,输入@AI编程”后,即可进入AI编程模式。

  • 海尔青岛洗衣机互联工厂获国际BSCI认证

    海尔青岛洗衣机互联工厂近日通过国际BSCI认证审核,在员工权益保障、环境保护等社会责任维度获得A级评价。这是继2021年成为全球家电行业首个"碳中和"工厂后,该工厂在可持续发展领域再获国际认可。BSCI认证由欧洲对外贸易协会发起,是进入国际供应链的重要通行证。此次认证将助力海尔拓展欧盟高端市场,提升国际竞争力。未来工厂将以认证为新起点,深化智能制造能力,为全球用户提供更优质产品体验。

  • 啊?豆包居然也开始卷AI编程了?

    豆包疯了。 我感觉他好像真的想一统江湖了。 今天我打开豆包,本来只是想让它帮我识别几个表格图片。 结果发现他们更新了一个功能,直接推荐到我的首页来了。 这个功能我用了一下,给我整不会了,就是下面那个加上了"应用创造1.0"标识的AI编程。

  • Meta拟百亿美元投资Scale AI,微美全息(WIMI.US)端侧多模态AI加速开启科技新局

    Meta正与AI初创企业Scale AI洽谈数十亿美元投资,估值或超100亿美元,有望创下私营企业融资纪录。Scale AI为微软、OpenAI等提供数据标注服务,是生成式AI热潮主要受益者。这将是Meta史上最大规模外部AI投资,标志其战略转向。Meta CEO扎克伯格宣布将AI确立为战略重心,2024年将投入650亿美元推进相关项目,重点打造Llama模型成为行业标准。同时,谷歌推出Gemini助手"计划操作"新功能,支持任务自动化管理。科技巨头纷纷重金布局AI,微软向OpenAI注资逾130亿美元,亚马逊投资Anthropic数十亿美元。行业观察认为AI技术普及将推动效率革命,微美全息等企业正通过技术创新赋能产业转型,共同探讨人工智能技术突破新动态。AI正以前所未有的速度重塑全球发展格局。

  • 与 ChatGPT 一起“越陷越深”

    ChatGPT 似乎正在让一些用户走上妄想甚至阴谋论的道路,或者说,至少在某种程度上强化了这类思维模式……

  • FaceTime成诈骗新工具,认准微粒贷客服号码

    近期出现多起冒充贷款客服的FaceTime诈骗案件,诈骗分子伪装成金融机构客服,以"微粒贷利率过高需注销账户"等理由诱导受害者转账。典型案例中,L先生接到自称微粒贷客服的FaceTime来电,对方以"保护资金安全"为由要求将存款转入指定账户,转账后发现被骗。警方提醒:1.警惕陌生FaceTime来电,不透露个人信息;2.凡提及"调整利率""屏幕共享""转账汇款"等均为诈骗;3.遇可疑情况立即拨打官方客服95384核实;4.若已转账要立即报警并冻结账户。建议通过正规银行渠道办理贷款业务,官方客服不会通过FaceTime联系客户。