PHP開发编码规范.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP開发编码规范

PHP开发编码规范? 2. 命名规则? ? 2.1. 合适的命名? ? 命名是程序规划的核心。古人相信只要知道一个人真正的名字就会获得凌驾于那个人之上的不可思议的力量。只要你给事物想到正确的名字,就会给你以及后来的人带来比代码更强的力量。别笑!? 名字就是事物在它所处的生态环境中一个长久而深远的结果。总的来说,只有了解系统的程序员才能为系统取出最合适的名字。如果所有的命名都与其自然相适合,则关系清晰,含义可以推导得出,一般人的推想也能在意料之中。? 如果你发觉你的命名只有少量能和其对应事物相匹配的话, 最好还是重新好好再看看你的设计吧。? ? 2.2. 类命名? ? · 在为类(class )命名前首先要知道它是什么。如果通过类名的提供的线索,你还是想不起这个类是什么的话,那么你的设计就还做的不够好。? · 超过三个词组成的混合名是容易造成系统各个实体间的混淆,再看看你的设计,尝试使用(CRC Session card)看看该命名所对应的实体是否有着那么多的功用。? · 对于派生类的命名应该避免带其父类名的诱惑,一个类的名字只与它自身有关,和它的父类叫什么无关。? · 有时后缀名是有用的,例如:如果你的系统使用了代理(agent ),那么就把某个部件命名为“下载代理”(DownloadAgent)用以真正的传送信息。? ? 2.3. 方法和函数命名? ? · 通常每个方法和函数都是执行一个动作的,所以对它们的命名应该清楚的说明它们是做什么的:用CheckForErrors()代替 ErrorCheck(),用DumpDataToFile()代替DataFile()。这么做也可以使功能和数据成为更可区分的物体。? · 有时后缀名是有用的:? o Max - 含义为某实体所能赋予的最大值。? o Cnt - 一个运行中的计数变量的当前值。? o Key - 键值。? 例如:RetryMax 表示最多重试次数,RetryCnt 表示当前重试次数。? · 有时前缀名是有用的:? o Is - 含义为问一个关于某样事物的问题。无论何时,当人们看到Is就会知道这是一个问题。? o Get - 含义为取得一个数值。? o Set - 含义为设定一个数值? 例如:IsHitRetryLimit。? ? 2.4. 缩写词不要全部使用大写字母? ? · 无论如何,当遇到以下情况,你可以用首字母大写其余字母小写???代替全部使用大写字母的方法来表示缩写词。? 使用: GetHtmlStatistic.? 不使用: GetHTMLStatistic.? 理由? · 当命名含有缩略词时,人们似乎有着非常不同的直觉。统一规定是最好,这样一来,命名的含义就完全可以预知了。? 举个NetworkABCKey的例子,注意C是应该是ABC里面的C还是key里面的C,这个是很令人费解的。有些人不在意这些,其他人却很讨厌这样。所以你会在不同的代码里看到不同的规则,使得你不知道怎么去叫它。? 例如? class FluidOz // 不要写成 FluidOZ? class GetHtmlStatistic // 不要写成 GetHTMLStatistic? ? 2.5. 类命名? ? · 使用大写字母作为词的分隔,其他的字母均使用小写? · 名字的首字母使用大写? · 不要使用下划线(_)? 理由? · 根据很多的命名方式,大部分人认为这样是最好的方式。? 例如? class NameOneTwo? class Name? ? 2.6. 类库命名? ? · 目前命名空间正在越来越广泛的被采用,以避免不同厂商和团体类库间的类名冲突。? · 当尚未采用命名空间的时候,为了避免类名冲突,一般的做法是在类名前加上独特的前缀,两个字符就可以了,当然多用一些会更好。? 例如? John Johnson的数据结构类库可以用Jj做为前缀,如下:? class JjLinkList? {? }? 另一种折中方式是建立包含类库目录(事实上Java也是这么做的),以不同的目录代表不同的命名空间。? 例如? Microsoft的数据库相关类库可以在:? /classes/com/Microsoft/ Database/DbConn.php? Apache的数据库相关类库可在:? /classes/org/apache/Database/DbConn.php? ? 2.7. 方法命名? ? · 采用与类命名一致的规则? 理由? · 使用所有不同规则的大部分人发现这是最好的折衷办法。? 例如? class NameOneTwo? {? function DoIt() {};? function HandleError() {};? }? ? 2.8. 类属性命名? ? · 属性命名应该以字符‘m

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档