《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属性值等方式伪造恶意代码来达到攻击的目的,因此,规范的前端代码至少要针对这些方面做必要的安全校验和编码,提高代码的安全性。
前端代码如果能遵守如上的几个规范点,则基本上能称为高质量的代码。需要强调的是,酷炫的技术只是“浮云”,良好的编码习惯和意识才是真功夫。本书后续的章节将会针对如上的代码规范点展开详细讨论。

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

分享:

华章出版社

官方博客
官网链接