说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

不可小觑的Web开发编码规范

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

文章作者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

结论

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

原文:DZone

少年企鹅的成长之旅:QQ体验设计发展史 全球超算Top 500:Linux已占93.8%,Windows或将消失 AWS东部地区再次发生宕机 Netflix等网站受影响 2012年全球最美的十个数据中心 CodeCards:程序员电子贺卡DIY项目 微软首席战略官Craig Mundie将于2014年退休 LG明年CES展新款智能电视 增强自然语言识别 微软包嘉峰:企业用户向Windows 8迁移加速 2013年10个科技预测 三维打印技术将成主流 能省电99.96%:微软开发基于云的GPS技术 十个最有用的云数据库 开源产品系列:企业级Web框架web2py 让针对Webkit优化的网站兼容WP8 IE10 CMDN Club 24期:互联网产品的演进之路——从QQ谈互联网14年进化史 360安全浏览器发布“照妖镜”和“网站名片”功能 Windows Server 2012实用教程:添加Hyper-V管理器 为何Google弃置GCE和GAE选择AWS? 2012移动应用盘点:乱象丛生 最佳与奇葩共舞 从1976至2013大事记,看Android未来命运 c#经典入门视频001基础知识-苏坤老师主讲 c#经典入门视频002学习两句话-苏坤老师主讲 c#经典入门视频003基础知识-苏坤老师主讲 回顾HTML5这一年:在痛并快乐中前进 学Apple,微软宣布2013上半年零售店建设计划 真羡慕他们:谷歌宣布Gmail电话明年继续免费 c#经典入门视频004变量-苏坤老师主讲 c#经典入门视频005变量的使用和命名规则-苏坤老师主讲 c#经典入门视频006输出变量的值(及赋值符、连接符、占位符)-苏坤老师主讲 c#经典入门视频007变量交换_输入-苏坤老师主讲 回首JavaScript这一年:笑里藏刀 百媚丛生 平板优先:Supercell游戏公司日收入100万美元 D3D全屏状态下如何使用系统的中文输入法? 请问通过JDBC-ODBC桥,读入中文字段乱码的问题 急,在线等待!!! 如何调用保存对话框? Together for VS.NET 两个网关的问题!在线等,结贴快! 数据库中表的问题(100分) "#program once"是什么意思? 关于JTable的问题 局部钩子能影响其它软件???? SQL Server数据库中字段取中文名好,还是取英文名好? 怎么查询一个表,当用户新增一个记录时 如何防止listCtrl的列被拖动? 我的sony记忆棒,在相机可以读,可是不能在电脑读取,请帮忙! 安装.net的菜鸟问题,帮忙```````急```` 请Skt32(荒城之月)和gzshd(郁闷)大侠进来拿分! 有汉字输入的字符串,要限定其长度不超过100个字符,用正则表达式如何实现? 0x69514818指令引用的“0x14084268”内存错误 大家觉得以下哪一种 C语言 开发工具比较好?谢谢。 有关利用ms中的函数scardconnect()读手机sim卡的问题(很急!!) 从word 表格里面导入文本到Access 文件中没了回车换行,怎么解决? 如何将非主窗体放到任务栏里!!(在线等待) 打印RichTextBox中的文本 小弟长角了,散分! 装了sp4结果系统老是重启 急, 插入数据的时候怎么解决主键的问题?? 用C#做一個項目,應怎樣去規划? 一个简单问题!!! 上海的威迅,有人听说过吗??如何??? 2000提示:在系统启动时至少有一个程序或驱动程序发生错误,怎么解决 针对接口编程,而不是针对实现编程 请教:自定义查询 各位兄弟,帮帮手呀. 一时想不明白,请教一下。。。 500分求解答!关于数据库的发布!在线等候!!!! 我不会制作mschart.ocx文件,看过一些文章,介绍的太笼统,谁能有详细的制作步骤,或者告诉我哪里有mschart.cab文件下载最好了,谢谢 高分紧急求救(教)! 已知文件名,如何知道它是被哪个程序/进程打开的,并关闭相应的程序或进程? 简单:函数的参数列表问题(c) 在CDialogBar类的对象上按放一个按钮控件,运行时为什么该按钮控件是灰色的? 为中国头你神圣的一票 我在当前项目里要继承另一个项目里的一个类,在VS.NET里要调些什么才能实现。 关于c#中的数据库开发。 word打字时按空格键时留下小点 又是一年月圆夜,月下为你许三愿:一愿美梦好似月儿圆,二愿日子更比月饼甜,三愿美貌犹如月中仙。:) 我的IE字体不知怎么变大了,老也改不回来。 backup database shell error? 域的问题 大四的苦恼 一个小问题! 请教关于SESSION的问题! 设f(x)为定义在R上的函数,当x≥0时,f(x)=2^x+2x+b(b为常数),则f(-1)=? 不是还有我吗?怎样回复呀 帮忙改成被动语态Four powerful bombs hot central LOndon during this morning's rush hour.Three exploded on London.Underground lines and another on a bus.NO one has yet discovered who is responsible for the incidents but police are already colle 8B英语选择题1.with the help of computers,news can ____ every corner of the world quickly. A.reach B.get C.arrive D.return 2.Alththough it's raining,____ we are going to see him this afternoon. A.but B.and C./ D.then 瑞奇电取暖桌为什么是质量最好的,成立有多久了? 夸赞母亲的成语多个 都有那些夸赞美女的成语啊? 英语一变被动语态不会 soccer unites the nation "The Love Album"和“My Nation”这两句话说的是什么含义? Shake The Nation的《One Nation》 歌词 中纪委:严禁公款购买印制寄送贺年卡等网络黑手偷袭中国“金融阵地”破坏经济2013年第32届伊斯坦布尔国际书展今年全国平均雾霾日数为4.7天 系5风行网日均覆盖超对手 一不留神成土豪佛山“栏脆脆”案终审 被害方诉求获得徐州“交巡警乱罚款”处理结果 停职撤云南泸西致9死爆炸枪击案2名主犯被执中纪委要求严禁公款购买印制寄送贺年卡中央下拨综合开发资金8.05亿元支持两部委取消314项行政性收费生效 重25岁小伙千佛山为情割腕 上演“人鬼环保部公布8月群众举报情况 山东5家柯文哲对民进党这面旗帜“不放心”世纪游轮领航长江旅游市场“第三届中国十大休闲城市”揭晓范丽青:盼两会领导人第十次会谈朝春节北京3年内将建50个医疗联合体2013年中国军队实战化训练扫描:一成都理工大学教授入选2013年国家百湖南武冈市副市长张献礼涉严重违纪被立台湾霾害侵袭 教育部门吁学生在学校室泯心神之领域重生记俊男美女同居日记情撼九天前传王者之证星守进化我想重生幻天集猥琐药神血色圣晶傲然古莲花池旅游直隶总督署旅游沱江跳岩旅游刘公岛旅游傅家庄海滨浴场旅游古劳水乡旅游南山寺旅游九龙瀑旅游皇后湾旅游五公祠旅游天峡水利风景区旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘