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

不可小觑的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

如何判断自己是否适合自由职业? 创造·连接·成就:UNITE 2015 BEIJING圆满落幕 IT互联网人才招聘市场特点:人少钱多疯狂抢? React Native并非原生 Instagram Apple Watch应用设计师:对原有App全部重新思考 腾讯网移动端H5页面设计实战分享 Kendo UI和AngularJS常见问题解析 Elevator.js:模拟电梯运行的“返回顶部”JS插件 Java,传奇的一生! 约吗?Java二十周年特别策划——寻找Java大牛! 走近英特尔软件技术王牌之师:系统技术和优化部门 新兴技术袭来,Web开发如何抉择? 新创社交平台Tsu 5周註冊用户破百万秘訣 Google Play:助力中国开发者的海外梦想 JPHP——一款基于JVM的新PHP编译器 舌尖上的CTO——小杨生煎的持续交付 《近匠》滴答清单,跨平台云同步的任务管理工具 DJI与优酷土豆战略合作:提升UGC价值,先内容再营销 Android性能优化典范(二) 从三大运营商联手 看电视游戏背后的现状 【工具推荐】Vert.x——非阻塞、高并发的编程开发框架 Google搜索在确定结果排名时会将网站的移动设备适用性作为考量因素 W3C首次发布SVG标记、SVG轮廓标准工作草案 第七届中国云计算大会 | 首批主会演讲嘉宾和议题公布(表) 安沃传媒创始人王旭东:开发者从移动广告获利的黄金时代已经来临 【舌尖上的CTO】砂锅馄饨的交付件 微软新Visual Studio Code开发工具支持Mac和Linux 科技新创公司想做大?从CNN记者跳槽Snapchat谈起 Java二十年特别奉献:晒博文、赢大奖! 《近匠》华为创新总监蔡绪鹏:智能手表的三大感知与未解难题 从Samurai-Native框架开发谈React Native 要上广州找工作了,大家怎么找工作的给点经验哦。谢谢了~! 如何使文本框中的光标跟在最新输入的字符后面! 很简单的问题啊!谢谢!请回答! 文本框绑定数据集时出错。。 多机ADSL共享上网,全为2000,为什么主机玩一些游戏时,其他的机子网速就慢?50分求解释 MM的病终于好了,可以天天见面了,高兴... MM的病终于好了,可以天天见面了,高兴... (2) DateBaseDeskTop数据类型中的$(Money)能转换成Str或者Float吗? 我疯掉了,大吓帮帮忙!!! gcc3.2+RH8.0下编译错误,请高手指点 两年了,未能够忘记一个人,每年的5月24日都特难受,希望自己开心并且祝福大家可以找到意中人。 请问谁能告诉我如何在Dreamweaver中添加*.mov文件???? 一个小型的超市管理系统(谁能帮帮我!!!) 如何对文章内容进行编辑,iframe怎样获取数据库里的内容?急!!!! 请教如何随机生成N个随机数 ,N个随机密码 ,在同是入库? 如何控制一个iframe里的内容 asp问题,急急急急急急急急急,在线等待 那位有jpg、gif转换成bmp的方法、源码什么的? 电脑丢拉个盘符。求救 请问如何为一个类定义一个默认属性 关于消息响应的问题 ###actionPreformed在编译中出现的怪问题! 请问如何将一幅图片每个象素点的颜色信息转存到数组里面? 有谁会使用PeekaBooty这个软件 sos~~!!! 需要查找Java文件注释代码行的正则表达式 一个关于格式转换的问题--急!急! 放牛娃!!! C++注释的正则表达式怎么写 请教weblogic+jb8运行jsp网页出错,thx了先 高人请进~~~~~~~~~~~~~~~~~~~~~ 毕业设计,十万火急,请各路高手多多帮忙。 很奇怪,帮我解释一下!Page_Load未执行! 问题可能较简单,但比较实用,关于打印一行的问题。 如何用FTP.EXE实现断点续传的问题? 怎么取得Client端的网卡地址? 如何使datetimepicker返回的值只有4位年和两位月 求ComboBox DataBinding 到 DataTable某个字段的方法。 请问SMTP中如何进行身份验证? 关键域刷新问题????? 为什么我的mouse_event 函数不能用 ? 当我设置EnableViewState=false,DataList事件模型出问题了。。。 请问如何制作特效界面? 上海日記:主動/被動 上海日記:上海嘉定 时间设置问题 求for语句详解 如何实现BEAN异步调用或进程间通讯 谁能告诉我金锋文件加密器4。3的注册机 有什么软件可以给程序加30天试用期?? 今天和公司老总提辞职的事情!!!! je t'aime,non pas pour qui tu es,mais pour le sentiment que j'eprouve avec toi. 怎样从物理学角度分析眼睛散光呢?和晶状体有关吗? 有你陪伴的那些日子我过得很开心,谢谢,用英语怎么写 拼音好的哥哥姐姐们 帮我下!教诲 勉强 的拼音 Est-ce que Mozart est au __du concert?A.menu B.programme C.emploi du temps D.à la carte 草酸阳极氧化膜疏松或有腐蚀现象是什么原因? 《水浒传》中宋江提出招安,有哪三个人直言反对? j'en ai pas pour longtemp是什么意思呢? 关于BAI DU知道为什么有时提问后显示正在提交,却总是没反应.有时显示已经提交,却在个人中心或知道中没有这个问题? 选煤厂专用振动筛的技术参数哪有啊? Si un jours tu dois me quitter,dis-le-moi sous la pluie,pour ne pas voir mes larmes coulées.中文 请问bai du知道的等级怎么升?升到几级要在几分? 507B细纱机没有尾纱是什么原因 写出同义词,每空一词1.I'm going to buy Grandma some presents.I'm going to buy _ _ _ Grandma.2.I'm going to tell you the news.I'm going to tell _ _ _ you.3.Jenny is going to give her mum some flowers.Jenny is going to give _ _ _ her mum.4.He c LED就是灯吗?还是一种光?解释通俗易懂一些;谢谢我不理解LED到底是什么,它是光还是某个物体 圈绒地毯英语怎么说 同义词改写There are five bananas in his box.----- ----- five bananas in the box.My aunt buys hamburgers for five dollars.My aunt ----- five dollars ----- hamburgers. 下列关于锂及其化合物性质叙述中,错误的是(A)硫酸锂难溶于水 (B)氢氧化锂加热不分解 (C)锂遇浓硫酸不发生钝化 (D)碳酸锂加热分解成氧化锂和CO2 宋江为什么把“聚义厅”改为“忠义堂”? 讨论多个人入党是,支部大会应该如何讨论和表决 恒定电场电源产生的电场是分布在周围空间的吧导线置于其中 导线内部类似静电平衡过程 平衡的是 法向方向.那么 导线外依旧存在电源的电场 是这样的吗.若是高压输电 电线老长的 电源电 《水浒传》中,宋江作了头领后把“聚义厅”改为“忠义堂”,从他的行动中,你可以看出宋江的思想是: 水平方向电场线上的三点,c为ab中点. a、b电势分别为φ a =5V,φ b =3V.A、该电场在c点处的电势一定为4VA、当该电场是匀强电场时,由于沿电 场方向相同距离电势差相等,则场在c 点处的电势一定 马克思主义和数学有关吗? 德富芦花《春雨》阅读短文答案, 水平方向电场线上的三点,c为ab中点. a、b电势分别为φ a =5V,φ b =3V.A、该电场在c点处的电势一定为4V A、当该电场是匀强电场时,由于沿电 场方向相同距离电势差相等,则场在c 点处的电势一定 恒定电场的特点 德富芦花的《春雨》答案.七上导学练上的!速求! 党支部对预备党员的综合考察意见怎么写只寻求格式即可 恒定电场问题:书上有一句话是:“当电流从良导体流入不良导体时,其电场强度或电流密度在不良导体中的方向总是近似垂直于分界面的.”"分界面"是怎样划分的?请帮忙解释一下这句话. 《春雨》 作者:德富芦花 你怎样理解敲打一词在文中的含义? 预备党员考察表如何填写党支部考察综合意见怎么填写? 恒定电场的例子 日本作家德富芦花的《春雨》最后一段中“望富士”桥头的景物特点与朱自清《春》中的“春雨图”所描绘的画面有什么相似之处?请用一两句话把你比较之后的感受写出来. 中共预备党员发展对象基本情况登记表中的考察培养情况及支部意见怎么填? 请问恒定电场是无源场?导电媒质中(电源区域外)恒定电场具有无散(无源),导电媒质中(电源区域外)恒定电场具有无散。是不是说电源区域内的恒定电场有源?如果有,是不是就是电源区域 英语翻译Elle a,en toute connaissance de cause,dit-elle,arrêté de travailler à la naissance de Berenice,avec déjà,l'impression d'avoir raté quelque chose de Romain,son aîné,quand il était bébé 在试管中加入0.1mol/LHAc溶液和1滴溴甲酚绿—甲基橙混合指示剂再加入固体NH4Ac少许,溶解后的颜色是? 夏季和冬季,燃机发电负荷有什么影响刚进钢厂工作,厂子里有煤气燃机发电,我注意到夏季和冬季,燃机的负荷是有变化的, anniversary,和civil 怎么读我要音标啊. 》何曼君(第二版)就是那本(修订版)吗? 中国特色社会主义理论是马克思主义中国化的唯一成果,这句话对么? 我想买一些化学原料 ;天那水配料! 光合作用能吸收六氟化硫吗 中国特色社会主义理论是马克思主义中国化的最新成果,它包括什么 电场中没有画电场线的地方电场强度是否为零,为什么? 世界上最深的湖是哪个?贝加尔湖,平均深度730千米,最深点1620千米.对么? 马克思和恩格斯的理论在哪些国家得以成功实践 英文哥哥怎么拼写 贝加尔湖深度居第几位?淡水储量居第几位? 为什么实行马克思主义的国家都转型了? 将夜精校无拼音 能发一下将夜精校版么 求分享~此书已完结 最好是完结版的.Q Q 812210385 六氟化硫化学制法拜托给个实验室制法,好奇做着玩. Où est passé le temps que je vous Bin grand-tante a dans moi dormir是英语还是法语?还是根本不是什么语言 求武动乾坤无错无拼音校精版 马克思主义的成果 Si vous pouvez,Je voudrais revenir sur le passé!Aimer,Est toujours le blessant .Que nous sommes un fou 哥哥的拼音怎么打 眼睛散光是什么回事,什么原理 今天是属于你的日子的英文拼写如题 美动物园老虎“抢南瓜”迎万圣节(高清周边外交需要邻国间更深入地相互理解意大利女画家作品武汉展出 观众:口味中国顶尖富豪财富激增 168人 净资监听亚太,美曾想“借道”日本光缆美媒:监听活动曝光迫使美停止炒作“中因假牙飞出车外请假 美雇主为员工缺勤美最大银行被罚130亿美元印火星探测器欲争亚洲第一欧债危机对欧盟的重新排序全球最大海上书店抵达巴林中俄舞台艺术对话举办美媒:监听活动曝光迫使美停止炒作“中查尔斯的阿Q精神?日欲解禁武器出口 妄图“一箭三雕”印东北部连环爆炸5人亡埃前少校疑刺杀内政部长纽约华裔社区发生命案5人被杀16名沙特女性因驾车挨罚美国佛州举办基韦斯特大街化妆舞会游行窃听默克尔,奥巴马早就知情?从公务车司机辞职看改革的“方向”台媒分析两次“习连会”异同“被颠覆”的公募基金业?美加州拟限制亚裔学生比例国际奥委会透露 1.9亿国人观看冬奥中行人民币汇价阿里物流概念或爆发辩证看待成长股短线大盘反弹上台阶手脚有黑痣,小心黑色素瘤做怪中信证券交易系统昨“卡壳”英拉因示威者围堵办公楼不敢上班春运尚未结束 乘车四项提醒法国人说他们“烦透了”日本原内阁官房长官:日中都应顶住民族中老年智能手机599元俄罗斯外长说一些西方国家干涉乌克兰年后湿疹、荨麻疹来袭怎么办美军军舰黑海搁浅首批养殖刀鱼明年3月有望上餐桌2014赛季亚冠联赛日本J联赛四强名
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘