Web前端编写高质量代码

Web前端编写高质量代码

标签(空格分隔): Web前端

web前端如何才能做的更好?

1、必须掌握基本的开发技术:CSS、HTML、DOM、 BOM、Ajax、JavaScript等
    CSS布局是前端开发工程师的基本功,CSS的使用比重占到了所有技能的50%〜70%
    对JavaScript的使用有所要求,不仅要会使用原生的JavaScript,还要会使用JavaScript类库和Ajax
    
2、了解不同浏览器上的兼容情况、渲染原理和存在的Bug

3、掌握网站性能优化、SEO和服务器端的基础知识

4、使用工具富足开发

5、除了要掌握技术层面的知识,还要掌握理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持,等等。

PS:代码质量是前端开发中应该重点考虑的问题之一。代码需要具有很好的复用性和可维护性。这是高效率、高质量开发以及协作开发的基础。

原生JavaScript、JavaScript类库和Ajax的区别:

Ajax

原生JavaScript是浏览器默认支持的脚本语言,Ajax是一种利用JavaScript和XMLHttpRequest对象在客户端和服务器端传送数据的技术,因为XMLHttpRequest对象也是用JavaScript来创建的对象,所以从某种意义上来说,Ajax是JavaScript的一个子集。很多刚进入这个行业的朋友将Ajax和JavaScript并列起来讲,甚至认为Ajax比 JavaScript复杂得多。其实这是误解!

image_1eh98hruj1f0p7a152b10771v3r9.png-38.7kB

事实上,Ajax只是种提交数据的方式,与传统的表单提交方式相比的确有所不同,但其核心内容其实非常少,学习起来并不困难。前端开发中最复杂的技术其实是JavaScript。

JavaScript类库又是什么呢?

因为浏览器默认支持的JavaScript(我们常称为原生JavaScript)会因浏览器的不同而有所差异,例如IE支持document.all属性,而Firefox不支持。同时,原生JavaScript提供的方法可能并不太好用,比如只提供了document.getElementBylddocument.getElementsByTagName,却没有提供document.getElementsByClassName。又比如,原生JavaScript并不提供富文本编辑器和拾色器这种复杂的UI工具。基于这些原因,于是出现了JavaScript类库。 JavaScript类库是在原生JavaScript的基础上,封装了跨浏览器兼容的特性并扩展了一些功能,提供了一些原生JavaScript没有的API,供开发者快速开发JavaScript程序使用。

CSS布局

CSS布局具有代码量少、结构精简、语义清晰等优点。代码量少,浏览器端的下载时间就会更短,语义清晰就会对搜索引擎更友好。

CSS布局只是Web标准的一部分。在HTML、CSS、JavaScript这三大元素中,HTML才是最重要的,结构才是重点,样式是用来修饰结构的。正确的做法是,先确定HTML,确定语义的标签,再来选用合适的CSS


网站重构

为什么要重构网站

1、根据W3C标准进行重构后,可以让前端的代码组织更有序,显著改善网站的性能,还能提高可维护性,对搜索引擎也更友好;
2、重构后的网站能带来更好的用户体验,用HTML+CSS重新布局后的页面,文件更小,下载速度更快

重构的本质是构建一个前端灵活的MVC框架:

MVC框架,即HTML作为信息模型(Model), CSS控制样式(View), JavaScript负 责调度数据和实现某种展现逻辑(Controller)。

有哪些技术因素会导致应用难以维护?

PS:我们在制作网页的时候,不仅要实现需求,更重要的是耍考虑实现代码的可维护性,为未来可能出现的“变化”提前做好准备。

属性名有大写的,也有小写的;

标签属性有的加了引号,有的没有加引号;

历史遗留的、被淘汰的属性泛滥:

样式组织混乱,有用<style>标签写进网页里的,有用<link>外链的,也有直接写在标签内的;

JavaScript有外链的,有写在<scirpt>标签内的,也有写在标签里的;

JavaScript和CSS的位置零乱;

JavaScript的编码风格很不--致:

无论是JavaScript代码还是CSS代码,都看不到任何注释:

符合Web标准 —— 结构、样式和行为分离

Web标准由一系列标准组合而成,其核心理念就是将网页的结构、样式和行为分离开来,所以它可以分为三大部分:结构标准、样式标准和行为标准。
结构标准包括XML标准、XHTML标准、HTML标准;
样式标准主要是指CSS标准;
行为标准主要包括DOM标准和ECMAScript标准。

高质量的Web前端代码应该满足哪些条件(一个符合标准的网页)

1、标签中的属性名应该全部都是小写的,属性值要加上引号

2、结构、样式和行为的分离
    样式和行为不再夹杂在标签中,而应该分别单独存放在样式文件和脚本文件中。理想状态下,网页源代码由三部分组成:.html文件、.css文件和.js文件。标签中混有样式和行为的写法是不推荐的

3、增加代码可读性 - 注释
    "一个好的代码,注释要占1/3的篇幅",虽然有些夸张了点,不过它表明了注释的重要性。

4、提高重用性 - 公共组件和私有组件的维护
    避免出现冗余最好办法就是根据代码的重用度,把它们分成公共组件(不允许轻易修改)和私有组件两类。
    
    冗余和精简的矛盾 - 选择集中还是选择分散(jQuery就选择了 “集中”,而YUI选择了 “分散”)

    因为公共组件是预写好的,弹性才是它们最应该重点考虑的,毕竟不是特定为完成某功能而定制的,所以就算是按需加载,仍然可能会存在无用代码。这个是无法解决的,我们得认识到,只可能尽量减少冗余,不可能根除冗余。

为什么网页的维护工作会变得越来越难?

1、**浏览器:**不同浏览器对代码的而解析存在差异
2、**技术:**不同的工程师对代码的理解不同,理解不深容易写出可维护性差的代码
3、**团队合作:**合作不默契,容易导致代码累赘,可重用性差,维护困难,最终导致无人愿意维护

打造高质量代码 —— 精简、重用、有序。

所谓高质量的代码,在Web标准的思想指导下,在实现结构、样式和行为分离的基础上,还要做到三点:精简、重用、有序。精简的代码可以让文件变小,有利于客户端快速下载;重用可以让代码更易于精简,同时有助于提升开发速度;有序可以让我们更清晰地组织代码,使代码易于维护,有效应对变化。

Web标准是一套理论性的指导思想,它的最终目的是让代码更易于维护,标准本身是手段,而不是目的。在应用Web标准的实践中,有时候不遵循标准反而能带来更好的可维护性,如果你确信你的方案利大于弊,那么就去做吧,尽信标准不如无标准,过于教条主义是一件很愚蠢的事情。

如何才能提高Web前端代码的可读性和可重用性?

增加代码可读性 —— 注释
提高重用性 —— 公共组件和私有组件的维护
冗余和精简的矛盾 —— 选择集中还是选择分散
磨刀不误砍柴工 —— 前期的构思很重要
制订规范
团队合作的最大难度不是技术,是人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kindle高清文字版,可在电脑上用clearview电子书阅读软件阅读。 第1章 从网站重构说起 1.1 糟糕的页面实现,头疼的维护工作 1.2 Web标准——结构、样式和行为的分离 1.3 前端的现状 1.4 打造高品质的前端代码,提高代码的可维护性——精简、重用、有序 第2章 团队合作 2.1 揭秘前端开发工程师 2.2 欲精一行,必先通十行 2.3 增加代码可读性——注释 2.4 提高重用性——公共组件和私有组件的维护 2.5 冗余和精简的矛盾——选择集中还是选择分散 2.6 磨刀不误砍柴工——前期的构思很重要 2.7 制订规范 2.8 团队合作的最大难度不是技术,是人 第3章 高质量的HTML 3.1 标签的语义 3.2 为什么要使用语义化标签 3.3 如何确定你的标签是否语义良好 3.4 常见模块你真的很了解吗 3.4.1 标题和内容 3.4.2 表单 3.4.3 表格 3.4.4 语义化标签应注意的一些其他问题 第4章 高质量的CSS 4.1 怪异模式和DTD 4.2 如何组织CSS 4.3 推荐的base.css 4.4 模块化CSS——在CSS中引入面向对象编程思想 4.4.1 如何划分模块——单一职责 4.4.2 CSS的命名——命名空间的概念 4.4.3 挂多个class还是新建class——多用组合,少用继承 4.4.4 如何处理上下margin 4.5 低权重原则——避免滥用子选择器 4.6 CSS sprite 4.7 CSS的常见问题 4.7.1 CSS的编码风格 4.7.2 id和class 4.7.3 CSS hack 4.7.4 解决超链接访问后hover样式不出现的问题 4.7.5 hasLayout 4.7.6 块级元素和行内元素的区别 4.7.7 display:inline-block和hasLayout 4.7.8 relative、absolute和float 4.7.9 居中 4.7.10 网格布局 4.7.11 z-index的相关问题以及Flash和IE 6下的select元素 4.7.12 插入png图片 4.7.13 多版本IE并存方案——CSS的调试利器IETester 第5章 高质量的JavaScript 5.1 养成良好的编程习惯 5.1.1 团队合作——如何避免JS冲突 5.1.2 给程序一个统一的入口——window.onload和DOMReady 5.1.3 CSS放在页头,JavaScript放在页尾 5.1.4 引入编译的概念——文件压缩 5.2 JavaScript的分层概念和JavaScript库 5.2.1 JavaScript如何分层 5.2.2 base层 5.2.3 common层 5.2.4 page层 5.2.5 JavaScript库 5.3 编程实用技巧 5.3.1 弹性 5.3.2 getElementById、getElementsByTagName和getElements-ByClassName 5.3.3 可复用性 5.3.4 避免产生副作用 5.3.5 通过传参实现定制 5.3.6 控制this关键字的指向 5.3.7 预留回调接口 5.3.8 编程中的DRY规则 5.3.9 用hash对象传参 5.4 面向对象编程 5.4.1 面向过程编程和面向对象编程 5.4.2 JavaScript的面向对象编程 5.4.3 用面向对象方式重写代码 5.5 其他问题 5.5.1 prototype和内置类 5.5.2 标签的自定义属性 5.5.3 标签的内联事件和event对象 5.5.4 利用事件冒泡机制 5.5.5 改变DOM样式的三种方式 附录A 写在规则前面的话 附录B 命名规则 附录C 分工安排 附录D 注释规则 附录E HTML规范 附录F CSS规范 附录G JavaScript规范
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值