HTML、JavaScript和GLSL编码规范
HTML编码规范
始终将文档类型声明为文档中的第一行:
<!doctype html>
使用小写元素名称:
<p>, <div>
关闭所有的元素:
<p> ... </p>
关闭空元素:
<br />
使用小写属性名:
<div class="...">
用引号引用所有的属性值:
<div class="...">
不要在等号旁使用空格:
<div class="...">
尽量一行不要超过80个字符
为了可读性,添加空行来分隔大型或逻辑代码块
为了可读性,使用2个空格的缩进。不要使用制表符(tab)
总是包含一个<html>, <head> 和 <body> 标签
总是包含语言、编码和 <title>:
为复杂逻辑部分添加注释:
<!-- This is a comment -->
使用简单语法链接样式表:
<link rel="stylesheet" href="styles.css">
使用简单语法加载外部脚本:
<script src="myscript.js">
在html中使用与javascript相同的命名约定
始终使用小写文件名
使用一致的文件扩展名:
.html, .css, .js, .frag, .vert, .fbx, .glb
Javascript编码规范
总是包含
"use strict";
语句,来强制变量声明尽可能避免全局变量,如需要定义全局变量,建议使用小写字母 g 开头的变量名
使用JSLint来检查语法错误
为了可读性,添加空行来分隔大型或逻辑代码块
为了可读性,使用2个空格的缩进。不要使用制表符(tab)
在适当的情况下对条件语句使用速记:
var results = (test === 5) ? alert(1) : alert(2);
右大括号与原始语句位于同一缩进处:
命名规范
构造器以大写字母开头。
方法/函数以小写字母开头。
方法/函数应使用camel case。thisIsAnExample
变量应始终在单词之间使用下划线。this_is_an_example
适当时,在名称中包含变量类型。value_list
元素id和类名应始终在单词之间使用下划线。
私有方法应使用前导下划线将它们与公共方法分开。
名称中不应使用缩写。
分配名称时不应使用复数。
评论应该合理使用。
使用YUIDoc的规则来给函数添加注释。
GLSL编码规范
避免使用All-in-one着色器代码,根据需要编写单独的着色器代码
将webgl版本号放在每个着色器的顶部 #version 103
最新评论
- 相关文章
微信公众号在线生成二维码带参数怎么搞?
带参数二维码是微信公众号渠道二维码的一种实现
微信的带参数二维码有两种,一种是临时二维码,一种是永久二维码,但是永久二维码的生成是有个数限制的,微...3D感知和建模关键硬件技术:双目、3D结构光和TOF
无论VR、AR和3D打印,其核心技术包含3D成像和建模。而3D建模属于劳动密集型的工作,耗时耗力,凡这类工作都会是被新技术革命的地方,自动3D建模技术就是为了解决...
增强现实引擎ARToolKit工作原理简介
ARToolkit是一个基于CV(计算机视觉)和Marker(标识)的开源增强现实引擎。其具备如下功能特性:A. 鲁棒跟踪,包括基于标记的跟踪与基于特征的跟踪;
Monaco Editor 编辑器拷贝粘贴功能调用和获取选中文本
有时候需要在monaco editor外部调用编辑器的内置功能比如希望在页面主工具栏实现一些快捷操作。button
CentOS6 Apache2.2用域名配置多虚拟机
在CentOS下使用域名配置多虚拟机的步骤如下:
1. 使用React JSX语法简介
JSX是一种类似XML的标签语法,用来简化代码,我们可以不使用JSX,但了解并使用也没什么坏处:)在React中,JSX是一个使用 React.createElement() API的快捷方式...
常见面试题JavaScript闭包(ES5语法)
JavaScript闭包(Closure)是常见的JS面试题,是否理解闭包是一个简单的区分JS初级和高级程序员的判例。几乎每个JS程序员都在使用闭包,有意或无意间。比如编写一个jQuery鼠标点击处理函数:$(function()
使用CSS3 box-decoration-break特性实现多行文本样式
当文章中的长文本被自动断行为多行文本时,其样式可能会出乎我们的设计。本文介绍如何使用CSS3中的box-decoration-break特性来处理多行元素样式。
按照规范...NodeJS、Java和PHP性能考量和若干参考结论
首先需要说明的是,严格而言NodeJS和Java、PHP并非对等概念,NodeJS是基于JS的一个应用程序,而Java/PHP是语言。我们这里实际指的是分别使用node、java和php来实...
HTML5动画背后的数学 - 粒子群仿生算法简介
本站收录了多个算法可视化动画,如模拟鸟群运动:http://wow.techbrood.com/fiddle/30529等等。这里面除...
Three.js入门教程1 - 基础知识和创建一个红色球体
[ TECHBROOD注:Three.js是一个主流的开源WebGL库,WebGL允许使用JavaScript直接操作GPU,在网页上实现3D效果。
Google的工程师Paul在网站aerotwist.com上...WebGL入门教程4 - 使用纹理贴图(Texture Map)
3D建模和纹理贴图的关系就好比人体和皮肤(或着装)的关系,3D建模用来处理空间属性,而贴图适合用来处理细腻的表面属性。如果不使用贴图,而想在表面达到足够的...
IE各版本CSS Hack(兼容性处理)语法速查表
为了兼容IE各个版本,需要在CSS中添加额外的代码,比如以前常用的_width。之所以工作,是因为浏览器会忽略不能解析的样式规则,因此举个例子来说,把_width写在w...
如何使用CSS3实现一个3D商品标签
使用3D缎带形状的标签是常见的一个设计模式,用在商品折扣、文章标题或网站推荐信息上,来突出显示重点内容,吸引用户视觉焦点。实现的方法有2种,一种是使用背...
更多...