http://www.csdn.net/article/2013-10-21/2817235-coding-conventions-in-web-development

摘要:编码规范是一套规章制度,用来为某一特定的编程语言推荐编程风格、方法和实践。这些规范覆盖方方面面,包括注释、文件夹、文件组织、行首缩进、书面声明、空格、命名规格、编程实践和原则、构建最佳实践等等。

文章作者Andrey Prikaznov在DZone上分享了关于Web开发里编码规范的注意事项。编码时间长的人总会遇到编码格式标准化的问题,但是不同的项目里需要使用不同的规则和风格来解决问题,甚至有的时候林林总总的繁杂事情会让人头脑发涨,那为什么不考虑一下标准化编码呢?换句话说,编码规范是一套规章制度:用来为某一特定的编程语言的脚本语言推荐编程风格、方法和实践。这些规范覆盖方方面面,包括注释、文件夹、文件组织、行首缩进、书面声明、空格、命名规格、编程实践和原则、构建最佳实践等等。(以下是编译内容)

在编码过程中建议能够遵循这些规范制度,不但能帮助你改善代码的可读性,还能让后期维护变得更简单。下面的这些案例都是基于PHP规范编写的,但是对于所有的Web语言都是适用的。

1. 制作表格

在编码的开始阶段,建议你先解决这个问题:如何使用标签或者空格?通常情况下,行首缩进在大多数编程语言里并不是必要条件,只是当作二级符号使用。相反,开发人员只是想把程序结构更好的传达给用户。尤其需要注意的是,行首缩进是用来展示控制流结构之间的关系,例如:内部/外部的“条件”或“循环”和“代码”之间的关系。

虽然标签和空格之间的关系比较巧妙复杂,但是使用四个空格来代替一个标签是最好的分配办法。一起来看看实例:当我们使用不同的软件(比如是在Total Commander里比较两个文件)来审查代码或是比较代码的时候,标签和空格看起来明显不一样。你只需要试着去缩进两行代码,第一行使用标签,第二行用四个空格,在Notepad++里看起来是一样的;但是,将这个文件和它的备份版本(在Total Commander里)进行比较的话,你就会注意到标签的长度比四个空格更长(结果就是,获得更为严重的格式化代码)。综上所述,项目里最好是使用四个空格,而不是标签。这对将来的维护是有好处的。

2. 类别名

为了避免类别名的重复出现,同时为了让开发者写出更多独具一格的类别名,请在类别名前面加上特定的前缀,每个单词以大写字母开头。例如:

3. 变量名

因为较为严格的数据类型在大部分Web语言里已经不再使用了,所以为了方便起见,变量名应该以小写字母开头。例如:

  • i: integer
  • f: float / double
  • s: string
  • a: array
  • o: object
  • r: resource
  • b: boolean
  • is: boolean

使用完前缀之后可以接着使用Camel字体。如果你需要宣布一个私有变量,最好是使用下划线。

4. 常量名

常量是静态的变量,这就意味着这些常量值不需要改变。照例可以在常量上使用大写字母。例如:

5. 功能说明(名称和格式)

所有的功能名称都应该以小写字母开头,每个单词都应该以大写字母开头。花括号应该在同一行上面(在参数列表后面)。例如:

6. 特殊结构格式

像if/else、for、foreach、while等等之类的特殊结构应该遵循下面的规则:

  • 在结构名称和紧随其后的括号之间应该有一个空格。(为了更好的阅读)
  • 填写在括号里的得出的条件应该用空格分开。
  • 在左括号的后面和右括号的前面不能有空格。
  • 敞开的花括号必须是在同一条线上。
  • 内部条件应该和标签同步缩进。

7. 数据库表格名称

在创建表格的时候,使用合乎逻辑的、易于理解的前缀,同时利用下划线将单词分开,不必使用大写字母。同样的使用方法也可以用在表格区域。

8. 项目的目录结构

在团队开发项目里,保持文件夹和文档的结构以一种合乎逻辑的顺序排列是特别重要的。千万不要把所有的东西都毫无组织的放在一个文件夹里,否则最后得到的只能是一团糟糕的结局。就像这样:

/root  folder                                                                                                                             /backup                                                                                                                                     /cache                                                                                                                                     /classes                                                                                                                                         /css                                                                                                                                                  /js                                                                                                                                              /media                                                                                                                                     /images                                                                                                                                        /mp3                                                                                                                                           /video

index.php                                                                                                                                   otherFiles.php

结论

事实上,许多开发团队一直在准备着并在使用自己的编码规范指示和指导方针,但在任何情况下,上面所提到的编码规范对所有编程人员都是有用的。好东西大家一起分享。 (编译/薛梁  校审/付江)

不可小觑的Web开发编码规范的更多相关文章

  1. Android开发编码规范(自用)

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持!   Android开发编码规范 目的及指导原则 目的 统一规范 Eclipse编辑环境 ...

  2. ym——Android开发编码规范(自用)

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! Android开发编码规范 目的及指导原则 目的 统一规范 Eclipse编辑环境下J ...

  3. 解析WEB开发编码问题

    解析WEB开发编码问题 URL: http://tcking.javaeye.com/blog/726643 在进行web开发的时候经常会遇到乱码的问题,乱码一般出现在: 1.写在jsp文件中的中文变 ...

  4. PHP开发编码规范

    (转载:https://blog.csdn.net/alexdream/article/details/2213313) 这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据 ...

  5. 一份比较全面的PHP开发编码规范.

    这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据经验整理的PHP编码规范,可以用作给大家的范例和参考,根据需要进行取舍和修改! (可能最新的一些php5的规范不够完整,今 ...

  6. 整理了一份比较全面的PHP开发编码规范.

    这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据经验整理的PHP编码规范,可以用作给大家的范例和参考,根据需要进行取舍和修改! (可能最新的一些php5的规范不够完整,今 ...

  7. Objective-C开发编码规范【转载】

    概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guide ...

  8. Objective-C开发编码规范:4大方面解决开发中的规范性问题

    Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程 ...

  9. Objective-C开发编码规范

    Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程 ...

随机推荐

  1. javaweb页面上展示动态图片

    HTML <img alt="点击设定" name="CONSTRUCTIONPLANHIS_IMAGE_curr_img_0" src="vi ...

  2. 基于Laravel+Swoole开发智能家居后端

    基于Laravel+Swoole开发智能家居后端 在上一篇<Laravel如何优雅的使用Swoole>中我已经大概谈到了Laravel结合Swoole的用法. 今天,我参与的智能家居项目基 ...

  3. php中的引用类型和值类型

    PHP中的四种简单类型和复杂类型array都是值类型.同类型间赋值传递的是值,即创建一个副本给新变量. 例如: $int1 = 123; $int2 = $int1;//直接传递的是值,只是做了一个叫 ...

  4. 畅通工程再续(MST)

    畅通工程再续 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  5. Express 4.x Node.js的Web框架

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3821150.html ...

  6. 剑指OFFER之二叉树中和为某一值的路径(九度OJ1368)

    题目描述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. 输入: 每个测试案例包括n+1行: 第一行为2 ...

  7. bootstrap 常用类名

    一. 常用类1.container居中的内容展示2.row  行内容显示3.col 列内容显示, 列必须在row 中xs 宽度小于768 ,sm宽度小于990 大于768 ,md 宽度大于990,小于 ...

  8. 201521123011 《Java程序设计》 第三周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...

  9. c# Base64解密加密

    private static string base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ...

  10. python 模块之-shelve

    shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve f = shelve ...