`
php教程分享
  • 浏览: 10696 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Web开发者不可不知的15条编码原则

阅读更多
HTML已经走过了近20的发展历程。从HTML4到XHTML,再到最近十分火热的HTML5,它几乎见证了整个互联网的发展。但是,即便到现在,有很多基础的概念和原则依然需要开发者高度注意。下面,向大家介绍这些应该遵循的开发原则。
1、善用DIV来布局
当开发一个Web页面时,要考虑第一件事就是区分页面重点。将这些内容用DIV标签包含起来,页面的代码会呈现出整洁、缩进良好的风格。
<div id="header"></div> 
<div id="body-container"> 
        <div id="content"> <!-- Content -- > </div>   
        <div id="right-side-bar"> <!-- Right Side Bar Content Area -- ></div> 
</div>   
<div id="footer"></div>
2、将HTML标签和CSS样式表分割开来
好的页面应该将HTML标签和CSS样式表分割开来。这是每一个Web开发者在首次接触Web开发时就应该知道的一条原则。然而,直到今天,仍然有很多开发者没有严格遵循这一原则。
不要在HTML标签里内嵌样式表代码。开发者应该养成习惯,单独建立文件,用以存放CSS样式表。而这也将方便其他开发者在修改你的代码时,能迅速完成工作。
<p style="color: #CCC; font-size:16px; font-family: arial">
    An example to illustrate inline style in html</p>
3、优化CSS代码
现如今,为网站添加多个CSS文件的做法已经很普遍。但是,当网站包含的CSS文件过多时,会降低网站的响应速度。解决办法是:精简代码并对多个CSS文件进行优化,将其合并成一个文件。这个办法能显著提升网站的加载速度。此外,有很多工具可以用来优化CSS文件,例如CSS Optimizer、Clean CSS等。
对于CSS这块,我们还推荐过你应该知道的9个优秀的CSS框架,可以了解一下CSS框架的种类和相关用法。
4、优化Javascript文件,并将其放到页面底部
和CSS一样,为页面添加多个Javascript文件也是很普遍的做法。但这同样会降低网站的响应速度。为此,开发者应该精简、优化这些Javascript文件。
但有一点和CSS不同,浏览器通常不支持并行加载。这也就是说,当浏览器加载Javascript文件时,将不再同时加载其它内容。而这就导致了网页的加载速度好像变慢了。
一个好的解决办法是:将Javascript文件的加载顺序放在最后。为了实现这一目标,开发者可以把Javascript代码放在HTML文档的底部,而最好的位置是放在接近</body>标签的地方。
5、善用标题元素
<h1> 到 <h6>这些元素用来突出页面的重点内容。这有助于用户更加关注页面的重点部分。对于博客,我(指本文作者)推荐使用<h1>标签来突出博客标题。因为,博客标题几乎是页面中最重要的部分。
<h1>This is the topmost heading</h1>
<h2>This is a sub-heading underneath the topmost heading.</h2>
<h3>This is a sub-heading underneath the h2 heading.</h3>
6、在合适的地方使用合适的HTML标签
HTML标签是构造规范内容结构的关键。例如,<em>标签用来强调重点内容。<p>标签适用于突出文章段落。如果想要在段落间加空行,就不要使用<br />标签。
<em>emphasized text</em>
<strong>strongly emphasized text</strong>
对于一组相关的元素,建议使用<ul>、<ol>或 <dl>标签。但是,不要错误的使用<blockquote>标签,因为它原本是用来定义块应用的。
7、避免滥用<div>标签
并不是所有块元素都应该用<div>标签来创建。例如,可以在内联元素的属性里添加display:block,将其以块元素的方式显示。
8、使用列表创建导航
使用<ul>列表标签,再配以相应的CSS样式,可以创建美观的导航菜单。
9、别忘了封闭标签
现在,每当我回忆起在大学里学到的关于Web开发的第一堂课时,教授提到的HTML结构的重要性总是浮现在我的脑海。根据W3C标准,标签应该被封闭。那是因为,在一些浏览器下,如果没有按照标准来将标签封闭,会出现显示不正常的问题。而这一情况在IE6、7和8里尤为明显。
10、标签小写语法
标签采用小写语法是一项行业标准。虽然大写语法并不影响页面的显示效果,但是,代码的可读性很差。下面这段代码可读性就非常差:
<DIV>
<IMG SRC="images/demo_image.jpg" alt="demo image"/>
<A HREF="#" TITLE="click here">Click Here</A>
<P>some sample text</P>
</DIV>
11、为图片标签添加alt属性
在<img>标签里,alt属性通常非常有用。因为搜索引擎通常无法直接抓取图片文件。但是,如果开发者在alt属性里添加了图片的描述内容,将会方便搜索引擎的抓取。

<!-- has an alt attribute, which will validate, but alt value is meaningless -- >
<img id="logo" src="images/bgr_logo.png" alt="brg_logo.png" />

<!-- The correct way -- >
<img id="logo" src="images/bgr_logo.png" alt="Anson Cheung - Web Development" />
12、在表格里使用<label> 和 <fieldset>
为了提高代码质量,并让用户容易理解表格内容,我们应该用<label> 和 <fieldset>标签创建表格元素。
<fieldset>
    <legend>Personal Particular</legend>
    <label for="name">Name</label><input type="text" id="name" name="name" />
    <label for="email">E-mail</label><input type="text" id="email" name="email" />
    <label for="subject">Subject</label><input type="text" id="subject" name="subject" />
    <label for="message" >Message Body</label>
  <textarea rows="10" cols="20" id="message" name="message" ></textarea>
</fieldset>
13、将浏览器兼容代码标明信息并相互分开
对一名Web开发者来说,跨浏览器兼容是一个被重点关注的问题。通常,开发者会针对不同的浏览器来编码,也即是CSS hack。但是,如果开发者在编码时,能注明代码为哪一个版本的浏览器所写,会为以后的维护工作带来极大方便。下面就是一个很好的示例:

<!--[if IE 7]>
<link rel="stylesheet" href="css/ie-7.css" media="all">
<![endif]-->
<!--[if IE 6]>
<link rel="stylesheet" href="css/ie-6.css" media="all">
<script type="text/javascript" src="js/DD_belatedPNG_0.0.8a-min.js"></script>
<script type="text/javascript">
        DD_belatedPNG.fix('#logo');
</script>
<![endif]-->
14、避免过度注释
作为一名开发者,在代码中添加注释是一个好习惯,能方便理解并易于维护。这在其它编程语言如PHP、JAVA 和 C#里很普遍。但是,HTML/XHTML是文本标记语言,非常容易理解。因此,无需为每行代码都添加注释。
15、测试代码
推荐开发者使用W3C文本标记验证服务来测试代码。它是一个高效的测试工具,能帮助你发现页面中存在的错误。而且,它还能从页面错误出发,帮你定位到相应的代码。这一点通常在编码完成后很难做到。但开发者需要注意的是,验证通过的代码并非就是性能优异的代码。
免费领取LAMP兄弟连原创PHP视频教程光盘/《细说PHP》精要版,详情咨询官网客服:http://www.lampbrother.net
分享到:
评论

相关推荐

    Web前端开发最佳实践

    国内Web前端开发者普遍不重视代码规范,以及网站前端性能。很多网站甚至连最基本的前端代码压缩和合并都没有。本书立足于Web前端开发的基础,介绍如何编写符合W3C规范、可维护性好且高性能的Web前端代码。 本书的...

    Grid++Report6 报表开发者安装包

    B/S报表只要在WEB服务器布署报表网页与报表插件安装包,服务端不需其它配置,客户端零配置。 14、易学易用:完全可视化设计,完善的复制/剪切/粘贴(Copy/Cut/Paste)和恢复重做(Undo/Redo)功能,专业的拖放操作与即时...

    新编web前端代码编写规范V1.0

    这是一份旨在增强团队的开发协作,提高代码质量和打造开发基石的编码风格规范,其中包含了 HTML, ...只要开发者们能够保证源代码源文件都严格遵循规范,那接下去所使用的混淆、压缩和编译工具则可投其所好不尽相同。

    leetcode感觉难度大-advice-for-web-devs:给网络开发者的建议

    一个惊人的工具箱对于一个了不起的工匠来说是必不可少的。 良好的开发环境会成倍地增强您的编码能力。 配置您选择的命令行界面,例如终端、或在 Mac 上。 通过(仅限 Mac)安装 git 或 . 下载您选择的文本编辑器,...

    ZendFramework-1[1].8.0-minimal.tar.gz

    虽然它们可以独立使用,但如果组合使用,Zend Framework 标准库理的组件也能形成一个强大而可扩展的web程序。 ZF 提供了强壮而高效的 MVC 实现,易于使用的数据库摘要和实现 HTML 表单解析、校验和过滤的表单组件,...

    Zend framework 中文手册

    ZF 用 100% 面向对象编码实 现。 ZF 的组件结构独一无二,每个组件几乎不依靠其他组件。这样的松耦合结构可以让开发者独立使用组 件。 我们常称此为 “use-at-will”设计。 虽然它们可以独立使用,但如果组合使用,...

    fastapi-amis-admin是一个拥有高性能,高效率,易拓展的fastapi管理后台框架. 启发自Django-Admi

    效率更快:完善的编码类型提示, 代码可重用性更高. 支持异步和同步混合编写: ORM基于SQLModel+Sqlalchemy, 可自由定制数据库类型, 支持同步及异步模式, 可拓展性强. 前后端分离: 前端由Amis渲染, 后端接口由fast...

    Zoop PHP框架 v1.5.zip

    对代码并不很熟悉的开发者也可以通过Zoop快速的开发安全的web应用。熟练的开发者则可以更加将Zoop的弹性利用到极致。 Zoop建议将display,logic以及数据层(MVC)分开使用。Zoop由很多组件和项目集合而成,其中包括...

    方配ASP.NET模板引擎及开发教程和案例

    当FPT应用于Web开发时,界面设计人员可以和程序开发人员同步开发一个遵循MVC架构的Web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由程序开发人员关注业务逻辑编码。FPT将.NET程序代码从Web页面中分离...

    New of GWT Introduction--GWT开发快速入门

    熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。 开发出来的Java应用将由GWT开发包提供的编译工具编译后声生成对应的、应用了Ajax技术的Web应用...

    MF00492-ASP.NET企业人力资源管理.zip

    (jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要...

    Web前端开发规范2017(HTML/JavaScript/CSS)

    只要开发者们能够保证源代码源文件都严格遵循规范,那接下去所使用的混淆、压缩和编译工具则可投其所好不尽相同。 要讲的依次为: 前端编码规范(1)—— 一般规范 前端编码规范(2)—— HTML规范

    Java毕业设计-基于springboot开发的网上点餐系统-毕业论文(附毕设源代码).rar

    网上点餐系统作为现代生活中不可或缺的一部分,其设计充分考虑了用户体验和业务流程的便捷性。系统包括用户注册登录、浏览菜品、加入购物车、下单支付、订单管理等功能模块,为用户提供了一个方便快捷的点餐平台。...

    网页默认编码规则「Webpage Default Encoding Changer」-crx插件

    (可选)指定要应用默认编码的网页。 如果您需要不包含的其他编码,请在注释中发送注释。 根据IANA字符集命名(http://www.iana.org/assignments/character-sets/character-sets.xhtml)指定您需要的确切名称,我们...

    theme-flattener:主题开发者帮助器模块,可将所有视图文件拉入一个浅目录

    将app/code/*/*/view/web核心模块中的“基础”主题文件展平到&lt;workdir&gt; (通过复制文件)。 这允许将实际文件(在IDE中)复制到自定义主题,而不是复制符号链接。 在为自定义主题创建文件将在反向链接的位置创建...

    深入PHP与jQuery开发 pdf格式

    在跨浏览器开发过程中,可方便地使用库内建的兼容所有浏览器的方法而不必手工编码进行浏览器兼容性检查,这极大地节省了编码时间,解决了跨浏览器开发过程中的棘手问题。 提示 我们将在第2章演示使用jQuery的AJAX...

    微窗 CMS v3.0_20160818.zip

    你想要一个不想被编码规则的条条框框限制住的框架; 你对 X萌、X擎 这种庞然大物不感兴趣; 你不喜欢复杂,追求简单; 你需要清晰、完整的文档。 微窗 CMS 更新日志: 新增添加接入页外网链接自定义设置[系统...

    Gnuboard中文版 4.36.04.zip

    本身数据结构简单,可扩展性能强,程序运行代码与皮肤文件分离,可扩展数据字段多,可以进行多种功能转变,简单安装就可以作为BBS告示板使用,也可以下载皮肤插件变成综合网站,地方信息,购物,人才市场,物品交易...

    java-servlet-api.doc

    作为一个Servlet的开发者,你必须决定你的Web应用是否处理客户机不加入或不能加入Session。服务器会在Web服务器或Servlet规定的时间内维持一个Session对象。当Session终止时,服务器会释放Session对象以及所有绑定在...

Global site tag (gtag.js) - Google Analytics