《Web前端开发最佳实践》——1.3 规范的Web前端代码:更易维护、更高性能和更安全-阿里云开发者社区

开发者社区> 华章计算机> 正文

《Web前端开发最佳实践》——1.3 规范的Web前端代码:更易维护、更高性能和更安全

简介:
+关注继续查看

本节书摘来自华章计算机《Web前端开发最佳实践》一书中的第1章,第1.3节,作者:党 建 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 规范的Web前端代码:更易维护、更高性能和更安全

规范的代码,这是所有软件开发中对代码的基本要求,前端开发也是一样的,要求编写规范的HTML、CSS和JavaScript代码。
什么样的前端代码才能称得上规范的代码?探讨这个问题之前,首先需要强调的是规范不是标准,不是放之四海而皆准的,不同的项目中的代码规范是有可能有差异的,比如命名,有些项目规定HTML标签的id必须要以控件的缩写名作为前缀,如按钮的id名以“btn”作为前缀,有些只是规定命名有意义就可以。再比如有些项目规定JavaScript代码语句结尾必须添加分号,但是有些项目并不要求,大名鼎鼎的Bootstrap源代码中并没有给JavaScript语句结尾添加分号。因此,规范的作用只是让同一个团队代码风格统一,减少协作时的复杂性,确保后续的维护和修改方便。不同团队中遵循的规范有可能存在部分差异,但是在同一个团队中规范必须是统一的,团队中的成员应该严格遵循。澄清了规范的作用后,接着上面的问题来探讨什么才是规范的前端代码。
Web前端的代码规范主要针对的是HTML、CSS和JavaScript代码。尽管前端代码规范在不同场合会有差异,但是规范的前端代码应该具有如下特征。
(1)符合标准
所谓的标准指的是W3C制定的Web标准,这是从百度百科找到的关于W3C的介绍:
万维网联盟(World Wide Web Consortium,W3C),又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者是万维网的发明者蒂姆•伯纳斯–李。
万维网联盟是国际著名的标准化组织。1994年成立后,至今已发布近百项相关万维网的标准,对万维网发展做出了杰出的贡献。目前,万维网联盟拥有来自全世界40个国家或地区的400多个会员组织,已在全世界16个地区设立了办事处。2006年4月28日,万维网联盟在中国内地设立首个办事处。

W3C制定的标准包括使用语言的规范、开发中使用的原则和解释引擎行为等,主要由3个部分组成:结构(Structure)标准、表现(Presentation)标准和行为(Behavior)标准。结构标准包括XML标准、XHTML标准和HTML标准,目前使用的标准版是HTML 4.01标准,HTML5是HTML和XHTML的最新标准,还没有发布最终版;表现标准主要指的是CSS样式标准,目前使用的标准版是CSS2,CSS3尚未发布最终版;行为标准主要包括ECMAScript标准和DOM标准。ECMAScript是ECMA(European Computer Manufacturers Association)制定的标准脚本语言(JavAScript)。DOM是文档对象模型(Document Object Model)的缩写,是一个中立于语言的应用程序接口,允许程序访问并更改页面的内容、结构和样式。目前推荐遵循的ECMAScript标准是ECMAScript 262第5版,DOM标准是DOM级别2,DOM级别3目前还没有发布正式版本。W3C推荐的这些标准受到了各浏览器厂商和IT互联网公司的欢迎,前端代码遵循标准则可以保证网页在不同浏览器上正常展现。
(2)格式规范统一
前端代码的格式主要包括命名、代码缩进、空格和空行的使用以及代码注释。命名主要有HTML元素的id和class名,JavaScript中函数和变量的命名;HTML、CSS和JavaScript代码中都需要通过代码的缩进来体现代码的层次关系;空格和空行主要用在CSS和JavaScript代码中,用来提高代码可读性,如操作符前后添加空格、不同代码段逻辑之间添加空行等;CSS和JavaScript代码中都需要添加必要的注释来解释说明代码文件及代码段,HTML代码中使用注释的情况较少。和其他代码格式规范一样,前端代码格式规范也是为了提高代码的可读性和可维护性。
(3)高性能
前端性能体现在浏览器的响应速度上,包括网页的加载速度和页面的交互响应速度。网页加载所占用的时间包括后端处理请求的时间、代码文件从服务器端传输的时间、HTML和CSS的组合展现的时间以及JavaScript加载和运行的时间。除了第一条,其余都和前端代码有直接的关系,减少文件传输时间的最直接的方式就是减小文件的大小,越少的代码文件相对传输就会更快;简洁和符合标准的HTML和CSS代码能减少浏览器解析的时间,加快浏览器渲染过程;页面中请求数量越少相对页面加载时间也会越快;在JavaScript代码中选择性能更好的实现方案,如延迟加载、动态加载等技术,会让页面加载更快和交互更流畅。规范的前端代码应该针对这些方面来编写高性能的前端代码,提高用户的前端体验。
(4)高安全性
网站的安全有时很难引起一些互联网公司的足够重视,他们更看重的是站点的用户体验、性能等这些更直观的方面。2011年,多个网站用户信息泄露风波震惊整个互联网界,网站安全也再次引起业内的重视。从技术上讲,网站的安全瓶颈主要在后端,但是随着前端技术的发展,富客户端应用越来越多,前端安全问题也随之增多,如跨站点攻击、Cookie劫持等。这些攻击通过设置JavaScript变量、HTML标签的值和属性、CSS属性值等方式伪造恶意代码来达到攻击的目的,因此,规范的前端代码至少要针对这些方面做必要的安全校验和编码,提高代码的安全性。
前端代码如果能遵守如上的几个规范点,则基本上能称为高质量的代码。需要强调的是,酷炫的技术只是“浮云”,良好的编码习惯和意识才是真功夫。本书后续的章节将会针对如上的代码规范点展开详细讨论。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
网站安全检测对帝国CMS代码的后台功能性安全测试
最近我们SINE安全在对帝国CMS系统进行代码安全审计的时候,发现该系统存在网站漏洞,受影响的版本是EmpireCMS V7.5,从帝国官方网站下载到本地,我们人工对其代码进行详细的漏洞检测与安全代码分析。
2274 0
2020年,我们该如何学习 WEB 前端开发
每当想要开始学习,脑子里总会跳出一系列问题:WEB前端的学习先后顺序是什么?PC端必须要掌握哪些知识和框架?移动端要掌握哪些知识和框架?TypeScript和node.js是否为可学可不学?新手应该按照什么先后次第学习呢?本文是阿里巴巴淘系技术部高级前端工程师——小问的个人经验总结,希望帮到处于迷茫期的你!
2793 0
修改一行SQL代码 性能提升了100倍
在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...]) 改成 ANY(VALUES(...))),结果查询时间从20s变为0.2s。
599 0
.NET性能调优之二:使用Visual Studio进行代码度量
.NET性能调优系列文章 系列文章索引 .NET性能调优之一:ANTS Performance Profiler的使用 .NET性能调优之二:使用Visual Studio进行代码度量 .NET性能调优之三:YSlow相关规则的调优工具和方法 使用Visual Studio进行代码度量 在这篇文章里,暂且抛开代码、数据库和网络的优化,从软件代码度量的角度来看看其对.NET性能调优的作用。
979 0
Web Vitals :Google 如何定义性能指标及帮助开发者调优前端性能 ?
来自 Google 的Palances Liao 将在第十五届 D2 前端技术论坛带来 《以全球 Web 角度谈前端性能的更新与趋势》主题演讲,与大家分享关于 Core Web Vitals 的最新指标及每个指标的更新。
1283 0
代码整洁之道(一)最佳实践小结
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. 普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。
8292 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载