1.HTML命名规范及格式规范

  标签名和属性应该都小写,虽然HTML代码不区分大小写;属性值应该用双引号闭合。

  <IMG src=demo.jpg alt='test'/>(N)

  <img src=demo.jpg alt="test"/>(Y)

  给所有的关键元素定义元素的id和class,便于和CSS、javascript交互。推荐做法:根据语义和DOM树的层级关系来定义合适的名称,名称中全部使用小写,id名称中的关键词使用下划线(_)连接,class的关键词用中划线(-)连接,这样可以最大限度的保证命名不重复。

  不推荐示例:

  <div id="Reader">

  <div id="introduce"class="introduce">

  ...

  </div>

  </div>(N)

  推荐示例:

  <div id="Reader">

  <div id="Reader_introduce" class="Reader-introduce">

  ...

  </div>

  </div>  

  如果class名称仅座位javascript调用的“钩子”,则可在名称中添加“js”前缀,如下

  <ul id="js_reader_memu">

  <li class="memu-toc js-active">Toc</li>

  <li class="memu-store js-active">Store</li>

  <li class="memu-library">Library</li>

  <li class="memu-news">News</li>

  </ul>

  HTML代码层级缩进为4个空格,如果元素中包含子元素,则此元素对应的起始标签和闭合标签分别独占用一行

  不推荐示例:

  <ul>

  <li> item1</li><li>item2</li>

  <li>item3</li><li>item4</li></ul>

  推荐示例:

  <ul>

  <li>item1</li>

  <li>item2</li>

  <li>item3</li>

  <li>item4</li>

  </ul>

  给HTML代码添加必要的注释。可以在页面的公共部分(页面的头部、尾部以及侧边栏等)、页面经常变化的部分(如广告栏)以及需要后端代码注入的部分添加注释。注释添加的位置在要注释的代码上单独占用一行,不要再代码行的后面直接添加,例如:

  <body>

  <!--main header-->

  <div id="reader_head">

  ...

  </div>

  <!--动态绑定列表:toc-->

  <ul id="reader_content_toc">

  </ul>

  ...

  </div>

  </body>

 


2.CSS命名规范及格式规范

  推荐的CSS类的命名规则和元素的id命名规范相似,只是组成类名称的关键字的连接符为中划线(-)

  .reader-content-title{

  ...

  }

  为了避免重复,命名时,取父元素的class名作为前缀

  /*父元素的样式声明*/

  .reader-content{

  ...

  }

  /*子元素的class名称以父元素中的class名称作为前缀*/

  .reader-content-body{

  ...

  }

  在css样式定义中,左大括号放置在选择器的同一行,并和选择器之间添加一个空格分隔,在保证可读性的基础上,缩短代码的行数;在样式声明中,属性名称和值之间用一个空格分隔,提高代码可读性。

  不推荐示例:

  .reader-content-title

  {

  backgrond:#FFF;

  ...

  }

  推荐示例:

  .reader-content-title{

  background:#FFF;

  ...

  }

  多个选择器具有相同的样式声明时,每个选择器应该独占一行,便于阅读和维护

  不推荐示例:

  h1,h2,h3{

  font-weight:normal;

  line-height:1.2;

  }

  推荐示例:

  h1,

  h2,

  h3{

  font-weight:normal;

  line-height:1.2;

  }

  使用CSS美化工具做样式声明排序的工作

  示例代码:

  .reader-content-title{

  background:#FFF;

  boder:1px solid;

  -moz-border-radius:4px;

  -webkit-boeder-radius:4px;

  border-radius:4px;

  color:black;

  text-align:center;

  }

  样式定义按照模块来分组,相同的模块的样式定义放在一起,不同的模块定义之间用一个空行分隔;

  示例代码:

  /*reader header*/

  .reader-header-title{

  ...

  }

  .reader-header-introduce{

  ...

  }

  /*reader footer*/

  .reader-footer-copyright{

  ...

  }

  .reader-footer-links{

  ...

  }

  在CSS中添加注释,主要分为,两种类型,文件头部的文件信息注释和正文中的解释说明性注释。文件信息一般包括文件版本,版本信息以及作者等;解释性说明性注解,有给模块的注释性和单独给选择器的注释,模块的注释则需添加注释表明模块样式定义的开始和结束,CSS选择器的注释需要添加在选择器的上一行,而不是的选择器相同一行。

  示例代码:

  /*注释规范说明:文件头部的文件信息注释*/

  /*!

  *reader content v1.0

  *

  *Copyright 2012

  *Dual licensed under the MIT or GPL Version 2 licensed

  *

  *Desighned and built by dangjian

  *

  */

  /*注释规范说明:模块样式定义的开始和结束*/

  /*content containers start*/

  /*注释规范说明:注释需要添加在选择器的上一行,而不是和选择器相同的一行*/

  /*content  title*/

  .reader-content-title{

  ...

  }

  /*content containers end*/


3.javascript命名规范及格式规范

  javascript局部变量命名采用首字母小写,其他字母大写的方式命名,命名时建议采用有意义的单词命名,不推荐使用标示变量类型的前缀,如int,str,obj等。

  //不推荐使用:变量命名首字母大写

  var ReaderBookMark='bookmark'

  //不推荐使用:变量命名意义不明确

  var object={};

  //不推荐使用:变量命名以类型作为前缀

  var strName='Note'

  //不推荐使用:变量命名使用语义不明确的缩写

  var newNT=function(){

  ...

  }

  //推荐示例:变量命名语义明确

  var bookmarkDefaultTitle='UntitleBookmark'

  公有接口的命名为首字母大写,私有接口的命名为首字母小写

  示例代码:

  Reader.Contect=function{

  //私有变量

  var info,title;

  //私有方法

  var getContent=function(){

  ...

  }

  return{

  //公有方法

  SetTitle:function(contentTitle){

  title=contentTitle;

  },

  //公有属性

  ContentInfo:info

  }

  }()

  JQuery框架在项目中使用广泛,推荐给JQuery类型变量添加“$”作为前缀

  示例代码

  var $tocTitle=$('.reader-toc-title')

  左大括号应该在行的结束位置,而不应该单独一行,因为这样增加了不必要的行数。应该一直使用大括号括起逻辑块,即使逻辑块只有一行,也应该用大括号括起来,以便提高代码的可读性和可维护性。

  示例代码

  //左大括号应该在行的结束位置,而不应该单独一行

  for(var i=0;i<100,i++){

  doSomething(i);

  }

  //应该一直使用大括号括起逻辑块,即使逻辑只有一行,

  var isFound=false;

  if(statement){

  isFound=true;

  }

  JavaScript中可以用单引号或者双引号定义字符串,但是因为习惯于定义HTML的元素属性值时使用双引号,而JavaScript中又经常包含HTML代码,所以字符串定义使用单引号也可方便于在字符串内部包含含有双引号的HTML代码。
  示例代码:
  var content='<span id="main_content">...';

  空格的作用是提高代码的可读性,在函数参数的逗号后面使用一个空格,在操作符前后各使用一个空格,另外,使用一个空行来区分业务逻辑段

  示例代码:

  doSomething(myChar , 0 , 1);

  where(x===y){

  ...

  }

  javascript语句结束时,应该添加一个分号。

  javascript代码中,如果注释未占有多行,那么建议使用//,不推荐使用/**/。注释应单独占一行,而不是写在和代码相同一行的右边。哦CSS代码的注释规范相似,javascript代码的注释主要也是文件信息注释和代码逻辑注释

  

  

  

  

  

  

  

  

WEB学习笔记4-前端代码基本命名规法和格式规范的更多相关文章

  1. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  2. [原创]java WEB学习笔记95:Hibernate 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. java web 学习笔记 编码问题总结

       java web 学习笔记 编码问题总结 1.非form表单中提交的中文参数---------------------------传递给Servlet服务器时,默认以iso-8859-1解码 ...

  4. Java Web 学习笔记 1

    Java Web 学习笔记 1 一.Web开发基础 1-1 Java Web 应用开发概述 1.1.1 C/S C/S(Client/Server)服务器通常采用高性能的PC机或工作站,并采用大型数据 ...

  5. jQuery 学习笔记:jQuery 代码结构

    jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...

  6. Java Web学习笔记之---EL和JSTL

    Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression  Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...

  7. JAVA Web学习笔记

    JAVA Web学习笔记 1.JSP (java服务器页面) 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . JSP全名为Java Server Pages,中文名叫java服务器 ...

  8. Vue学习笔记-vue-element-admin 前端学习

    一  使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7  (Windows x86- ...

  9. [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. TFLite基础知识

    此基础知识仅为个人学习记录,如有错误或遗漏之处,还请各位同行给个提示. 概述 TFLite主要含有如下内容: (1)TFLite提供一系列针对移动平台的核心算子,包括量化和浮点运算.另外,TFLite ...

  2. Git版本库管理

    Step 1 查看哪些历史提交过文件占用空间较大 使用以下命令可以查看占用空间最多的五个文件: git rev-list --objects --all | grep "$(git veri ...

  3. 欢迎观临,这里藏着个秘密,神秘摩斯重着盛装依旧精彩,正如期待一个有趣的灵魂,轻启the key in my hands,也许是命中注定,我们的故事始于你生日的那天,每一句都动人心弦

    U2FsdGVkX1/goI0+jYuePWrZo0ynTTAnPVoPEtJYC/1/9/DvtB2x7RkQYO8cEhp5Cb6YK0AqvXbwVmxFguDwZIevQhux++vYdrnB ...

  4. web前端学习python之第一章_基础语法(一)

    web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  5. c# .net core 设置缓存

    1.开启ResponseCaching的缓存(ResponseCaching相当于老版本的OutPutCache): 在Startup.cs文件中设置: public void ConfigureSe ...

  6. Spring Boot Jpa 的使用

    Spring Boot Jpa 介绍 首先了解 Jpa 是什么? Jpa (Java Persistence API) 是 Sun 官方提出的 Java 持久化规范.它为 Java 开发人员提供了一种 ...

  7. 解决Sublime的package control被墙

    主要是https://packagecontrol.io 这个被墙了 下载不下来导致的错误,把下载链接改为国内的. 操作步骤: 打开: Preferences > Package Setting ...

  8. [树组BIT]训练两题重新理解ver.

    树状数组重(jiao)新(wo)理(zuo)解(ren) POJ-2352 加加加都给我加 输入是一行一行按照x从小到大给出的,所以对于每个点,要考虑的只是x比它小的点的个数.即记录各个x的情况,并且 ...

  9. K2 BPM获评“表现强劲”_2019 Forrester 报告_全球领先的工作流引擎

    3月12日,在Forrester Research发布的报告<Forrester Wave:2019年第一季度广泛部署数字流程自动化(DPA)>中,K2获评“表现强劲”. 此次共有10项评 ...

  10. javascript中的add(1)(2)(3)(4)是怎么实现的

    javascript中的add(1)(2)(3)(4)是怎么实现的?实现如下: var fn = function(a){ let sum = a; let tempFn = function(b){ ...