前端编程规范


由于自己刚出来实习,所以积累这一些小知识是必要的!!!!

项目

  1. 项目名称

    项目名全部采用小写方式, 以中划线分隔。 比如: my-project-name

  2. 目录名称

    目录名参照上一条规则,有复数结构时,要采用复数命名法,比如说: scripts, styles, images, data-models

  3. js文件命名

    所有js文件名,多个单词组成时,采用中划线连接方式,比如说: 账号模型文件 account-model.js

  4. css&css文件命名

    多个单词组成时,采用中划线连接方式,比如说:retina-sprites.scss

  5. html文件命名

    多个单词组成时,采用中划线连接方式,比如说: error-report.html

HTML

  1. 语法
  • 使用四个空格的 soft tabs — 这是保证代码在各种环境下显示一致的唯一方式.
  • 嵌套的节点应该缩进(四个空格)。
  • 在属性上,使用双引号,不要使用单引号。
  • 不要在自动闭合标签结尾处使用斜线 - HTML5 规范 指出他们是可选的。
  • 不要忽略可选的关闭标签(例如,</li></body>)。

如:

<!DOCTYPE html>
<html>
	<head>
		<title>这就是一个实例</title>
	</head>
	<body>
		<img src="images/company-logo.png" alt="Company">
		<h1 class="hello-world">hello-world</h1>
	</body>
</html>
  1. HTML5 doctype

    在每个 HTML 页面开头使用这个简单地 doctype 来启用标准模式,使其每个浏览器中尽可能一致的展现。

    虽然doctype不区分大小写,但是按照惯例,doctype大写 。

    <!DOCTYPE html>
    <html>
        <head>
        </head>
    </html>
    
  2. 语言属性

    从HTML5规范来看,鼓励作者从html根元素给文档的语言指定一个lang属性。对搜索引擎和浏览器是有帮助的。

    <html lang="en-us">
        <!-- ... -->
    </html>
    
  3. IE兼容模式

    Internet Explorer支持使用一个文件兼容性< meta >标记指定版本的IE页面应该显示为。除非情况需要,是最有用的指示IE使用最新的支持模式与边缘模式。

    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    
  4. 字符编码

    通过声明一个明确的字符编码,让浏览器轻松、快速的确定适合网页内容的渲染方式。同时你也应该避免使用类似于这种字符Entities, 而使用他们的entity_code

    <head>
        <meta charset="UTF-8">
    </head>
    
  5. 引入 CSS 和 JavaScript

    根据 HTML5 规范, 通常在引入 CSS 和 JavaScript 时不需要指明 type,因为 text/csstext/javascript 分别是他们的默认值。

    html5规范链接

<!-- External CSS -->
<link rel="stylesheet" href="code-guide.css">

<!-- In-document CSS -->
<style>
    /* ... */
</style>

<!-- JavaScript -->
<script src="code-guide.js"></script>
  1. 实用高于完美
    尽量遵循 HTML 标准和语义,但是不应该以浪费实用性作为代价。任何时候都要用尽量小的复杂度和尽量少的标签来解决问题。
  2. 属性顺序
    HTML 属性应该按照特定的顺序出现以保证易读性。
  • class

  • id

  • name

  • data-*

  • src, for, type, href, value , max-length,max, min, pattern

  • placeholder, title, alt

  • aria-*, role

  • required, readonly, disabled

    Class 是为高可复用组件设计的,理论上他们应处在第一位。Id 更加具体而且应该尽量少使用(例如, 页内书签),所以他们处在第二位。

	<a id="..." class="..." data-modal="toggle" href="#">
	    Example link
	</a>
	
	<input class="form-control" type="text">
	
	<img src="..." alt="...">
  1. Boolean 属性

    Boolean 属性指不需要声明取值的属性。XHTML 需要每个属性声明取值,但是 HTML5 并不需要。

    了解更多内容,参考 WhatWG section on boolean attributes:

    一个元素中 Boolean 属性的存在表示取值 true,不存在则表示取值false

    如果你必须为属性添加并不需要的取值,参照WhatWG的指引:

    如果属性存在,他的取值必须是空字符串或者 […] 属性的规范名称,不要在首尾包含空白字符。

    简而言之,不要为 Boolean 属性添加取值。

<input type="text" disabled>

<input type="checkbox" value="1" checked>

<select>
    <option value="1" selected>1</option>
</select>
  1. 减少标签数量
    在编写 HTML 代码时,需要尽量避免多余的父节点。很多时候,需要通过迭代和重构来使 HTML 变得更少。 参考下面的示例:
<!-- Not so great -->
<span class="avatar">
    <img src="...">
</span>

<!-- Better -->
<img class="avatar" src="...">
  1. JavaScript 生成标签

    在 JavaScript 文件中生成标签让内容变得更难查找,更难编辑,性能更差。应该尽量避免这种情况的出现。

剩下的css以及JavaScript规范等下一篇文章再看吧!

转自 Code Guide by @AlloyTeam-materliu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值