概述

我个人很看重代码规范,因为代码是写给别人看的,按规范写别人才更容易理解。之前苦于没有代码规范的资料,现在在github上面看到了腾讯Alloy团队的代码规范,于是学习了一下,并记录下我自己还没怎么注意的地方,供以后开发时参考,相信对其他人也有用。

顺便说下,这里是腾讯Alloy团队推荐的sublime3配置

命名规则

  1. 文件命名全部采用小写方式, 以下划线分隔,有复数结构时,要采用负数命名法。

HTML

  1. 属性名,使用双引号,不要使用单引号;全小写,用中划线做分隔符。
  2. 不要在自动闭合标签结尾处使用斜线。
  3. doctype大写。
  4. 在html标签上加上lang属性。
  5. 声明一个明确的字符编码,通常指定为'UTF-8'。
  6. 用meta标签指定页面应该用什么版本的IE来渲染(比如content="IE=Edge");
  7. 在引入CSS和JS时不需要指明type。
  8. 属性应该按照特定的顺序出现以保证易读性,class>id>name>data-*>src等
  9. boolean属性不需要声明取值。
  10. 避免用js生成标签。
  11. 在编写HTML代码时,需要尽量避免多余的父节点。

css,scss

  1. 属性声明顺序
  2. 以下几种情况需要换行:(1)'{'后和'}'前(2)每个属性独占一行(3)多个规则的分隔符','后。
  3. 注释统一用'/* */'(scss中也不要用'//')。
  4. 最外层统一使用双引号。
  5. 类名使用小写字母,以中划线分隔;id采用驼峰式命名;scss中的变量、函数、混合、placeholder采用驼峰式命名。
  6. 颜色16进制用小写字母;颜色16进制尽量用简写。
  7. 除了margin和padding,都不需要使用属性简写,尽量分开声明。
  8. 尽量将媒体查询的规则靠近与他们相关的规则,不要放进独立样式文件,也不要扔在底部。
  9. @import 引入的文件不需要开头的'_'和结尾的'.scss'。
  10. 声明顺序:@extend;不包含 @content 的 @include;包含 @content 的 @include;自身属性;嵌套规则。
  11. 去掉小数点前面的0。
  12. 属性值'0'后面不要加单位。
  13. 同个属性不同前缀的写法需要在垂直方向保持对齐,无前缀的标准属性应该写在有前缀的属性后面。
  14. 用 border: 0; 代替 border: none;
  15. 发布的代码中不要有 @import。
  16. 尽量少用'*'选择器。

JavaScript

  1. return后面需要加分号。
  2. 这些关键字后要留一个空格:if, else, for, while, do, switch, case, try, catch, finally, with, return, typeof。
  3. '}'前需要换行。
  4. 单行注释缩进与下一行代码保持一致。
  5. 多行注释最少三行, '*'后跟一个空格。
  6. 最外层统一使用单引号。
  7. 这些字符串一律按这里的写法,不小写或大写:'ID','URL','Android', 'iOS'。
  8. 构造函数,大写第一个字母
  9. 常量全大写,用下划线连接。
  10. 对象属性名不需要加引号;数组、对象最后不要有逗号。
  11. 永远不要直接使用undefined进行变量判断;使用typeof和字符串'undefined'对变量进行判断。
  12. for-in里一定要有hasOwnProperty的判断。
  13. 不要在同个作用域下声明同名变量。
  14. 不要在一些不需要的地方加括号,例:delete(a.b)。
  15. 数组中不要存在空元素。(有疑问???)
  16. 换行符统一用'LF',即'/n'。
  17. 对上下文this的引用只能使用'_this', 'that', 'self'其中一个来命名。
  18. 一个函数作用域中所有的变量声明尽量提到函数首部,用一个var声明,不允许出现两个连续的var声明。比如:
function doSomethingWithItems(items) {
// use one var
var value = 10,
result = value + 10,
i,
len; for (i = 0, len = items.length; i < len; i++) {
result += 10;
}
}

腾讯Alloy团队代码规范的更多相关文章

  1. 中小型前端团队代码规范工程化最佳实践 - ESLint

    前言 There are a thousand Hamlets in a thousand people's eyes. 一千个程序员,就有一千种代码风格.在前端开发中,有几个至今还在争论的代码风格差 ...

  2. iOS团队代码规范

    iOS团队代码规范 工程之始可能需要的工具: 1.使用CocoaPods类库管理工具.CocoaPods安装和使用教程. 2.下载安装注释插件VVDocumenter-Xcode. 一.项目结构管理 ...

  3. 项目Alpha冲刺(团队)-代码规范、冲刺任务与计划

    课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:SkyReach 作业目标:确定团队项目的代码规范.冲刺任务与计划 代码规范:隐流 ...

  4. 团队开发前端VUE项目代码规范

    团队开发前端VUE项目代码规范 2018年09月22日 20:18:11 我的小英短 阅读数 1658   一.规范目的: 统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致 ...

  5. PHP团队 编码规范 & 代码样式风格规范

    一.基本约定 1.源文件 (1).纯PHP代码源文件只使用 <?php 标签,省略关闭标签 ?> : (2).源文件中PHP代码的编码格式必须是无BOM的UTF-8格式: (3).使用 U ...

  6. sixsix团队“餐站”应用代码规范及开发文档

    网络爬虫文档 以下是我们软工小组关于网络爬虫部分代码的的说明文档.至于一些分功能的小函数或方法就不在此赘述,一看就能明白.下面就主要的函数进行说明. 从总体上来说主要有三部分:店家信息爬取部分,菜品信 ...

  7. 猪懂傻改之《powershell 代码规范》

    猪懂傻改之<powershell 代码规范> 脚本程序员或许都经历过这样的场景:接手别人的代码时,因为没有注释,变量名五花八门,模块之间逻辑关系如麻,弄得满头雾水,一脸茫然,痛定思痛之后不 ...

  8. 腾讯QQ团队开源分布式后台毫秒服务引擎全解析:引擎架构、RPC、灰度……

    腾讯QQ团队将于12月4日开源一个服务开发运营框架,叫做毫秒服务引擎(Mass Service Engine in Cluster,MSEC),它集RPC.名字发现服务.负载均衡.业务监控.灰度发布. ...

  9. iOS代码规范(OC和Swift)

    下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...

随机推荐

  1. week06 codelab01 react-router 去官网学习

    官方教程https://github.com/reactjs/react-router-tutorial git clone 到本地 和教程学 第一课 LESSON 2 index.js引入一些pac ...

  2. Pandas基础知识(二)

    Pandas的索引对象 index的对象是不可以修改的如执行index[1] = 'f',会报错"Index does not support mutable operations" ...

  3. php 获取数组深度的值

    匿名函数(闭包) $val = array(); array_walk_recursive($array, function ($x) use (&$val) { $val[] = $x; } ...

  4. 大数据入门到精通6---spark rdd reduce by key 的使用方法

    1.前期数据准备(同之前的章节) val collegesRdd= sc.textFile("/user/hdfs/CollegeNavigator.csv")val header ...

  5. web服务,下载https链接的文件,提示javax.net.ssl.SSLKeyException: RSA premaster secret error

    问题: 在服务器上,下载https的链接文件,报错javax.net.ssl.SSLKeyException: RSA premaster secret error   在本地运行的时候没报错,但是在 ...

  6. Windows驱动开发调试工具

    [开发工具] VS2012 [调试工具] Windbg:和VM配合实现双机联合调试,完成双机调试功能,可以结合<软件调试>这本书对Windbg有较为深入的认识. DebugView: 可以 ...

  7. 如何访问dashed filename

    第一关:boJ9jbbUNNfktd78OOpsqOltutMc3MY1 第二关:CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9 cat <- 第三关:如何访问spaces i ...

  8. eclipse使用lomnok无效

    把下载好的jar包去掉版本号放到与eclipse.exe同级目录 修改sts.ini或者eclipse.ini 在最后面加上: -javaagent:lombok.jar-Xbootclasspath ...

  9. 微信公众号的分享接口,分享提示config:fail,invalid signature的解决办法(2017年12月)

    微信中打开网页,使用微信右上角菜单中自带的分享功能的经历及总结: 最开始,微信分享页面时,直接读取页面的标题(title)和页面中的第一张符合条件的图片[此种方式在2017-03-29之前管用,这一天 ...

  10. CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***”

    执行yum命令时出现以上错误; 解决方法: vi /etc/sysconfig/network-scripts/ifcfg-eth0 这一段为你的网卡修改图中框框部分 然后重启 :reboot