仓酷云

标题: PHP网页编程之编写易读的代码 [打印本页]

作者: 透明    时间: 2015-2-4 00:27
标题: PHP网页编程之编写易读的代码
PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。   胜利的开辟团队请求步队中的每位成员恪守代码重用划定规矩,这些划定把代码的重用性推到极至同时却不会明显下降开辟人员的发明力和开辟效力。假如编写和利用代码的开辟人员恪守配合的法式定名标准代码和代码正文请求,那末代码的重用性就会得以大大提拔。这些尺度的出发点是体系布局级的。你的功效标准应当在类、属性的名字、函数前往值和其他关头法式元素的界说中反应这些尺度。本文迁就根基的定名划定规矩和正文提出一些可行的建议,意图匡助读者开辟本人的代码重用尺度。


巨细写尺度


在咱们入手下手会商各类法式要素定名的准确体例之前,先让咱们界说辨别元素的字符巨细写的两种最经常使用体例,它们是:

Pascal标准―第1个字符大写,方针名中的每一个单词的第1个字母也大写,好比InvoiceNumber或PrintInvoice。其他的一切字符都小写。
Camel标准―第1个字符不大写,但方针名中的每一个单词的第1个字母大写,好比,invoiceNumber。其他的一切字符都小写。
可是,采取字符巨细写辨别元素能够在对巨细写不敏感的编程言语中激发成绩。例如说,因为C#言语辨别巨细写,所以你可以挪用公有变量employee,接着它所具有的公共属性Employee则可以被挪用者所用。这些操作是完整正当的。然而,对Visual Basic来讲就会发生毛病,由于VB是不辨别字母巨细写的,以上两种元素在VB看来都是一回事。假设你在夹杂言语情况下任务,你只能指定某些划定规矩请求开辟人员公道使用多种言语浏览其别人开辟的代码。


定名尺度
假定咱们采取了以上的巨细写尺度,如今就让咱们懂得一些通用法式元素的复杂定名建议。


某些类设计为摹拟真实世界的对象,就这些类来讲,所选用的名字就应当反应真实世界的对象、具有双数名词的格局,例如Employee、 Invoice或Timecard等。对外部类而言可以采取Pascal标准令了局类具有双数模式的名字,好比ThreadPool或CustomColor等。类应该是双数的,如许它们的单数模式就能够代表同类的纠合名,好比Employees数组等。

类的成员
采取C#和其他巨细写敏感编程言语的开辟人员应该采取camel标准定名类成员的名字。如许做可让开辟者更容易于辨别外部变量的名字(name)和公共属性的名字(Name)。很多VB开辟人员更喜好采取匈牙利定名法为类成员取名,也就是在名字后面加上前缀暗示变量的类型,好比sName就指的是string类型的Name变量。我以为,在利用VS.NET如许初级的开辟情况下如许做是不用要的,由于在这类情形下体系鼠标逗留在变量之上便可可主动显示变量的类型。我团体喜好在类成员名前加上前缀:小写的字母m。如许外部变量就保留了足够的外部类信息:外部变量mName就正好代表了公共属性Name。

办法
办法应当用Pascal标准定名,同时用公道的体例申明他们的实行行动。例如说,给数据库添加雇员的办法可以定名为AddEmployee,而打印发票的办法则无妨定名为PrintInvoice。假设办法前往的是布尔值,那末办法名应当以动词开首以便用在if语句的时分其寄义更分明。好比说,假设你有一个办法的功效是肯定某位雇员是不是合适公司401k企图的请求,那末你可以在If语句中挪用IsEligible401k办法:If IsEligible401k then…

办法参数、前往值和变量
一切的办法参数、前往值和变量都应当采取Pascal标准定名,同办法名一样也应当能反应参数或变量所代表的寄义。这一点对参数办法而言出格主要,由于你在挪用办法的时分智能感知(Intellisense)会前往参数名和参数类型。一切采取办法的开辟人员都应当利用描写性的名字和类型,便于互相了解其寄义。

控件
控件定名是开辟范畴一个常常激发争议的成绩。固然大多半人赞成不该该利用控件的默许称号,好比TextBox1或Label1等等,然而,他们还否决依照变量的体例定名控件或采取前缀暗示控件的类型。我对照喜好采取尺度的三字母前缀定名窗体中控件的名字。好比说,保留姓氏和名字的文本框控件就无妨分离定名为txtLastName和txtFirstName。处置窗体数据的号令按钮则可以定名为cmdSubmit或cmdCancel。其实,只需你能包管控件定名的分歧性并且尺度易于了解便可。

正文
正文代码对一切开辟人员来讲都是需要的。为了传授准确的正文手艺,我就常常在本人的演示法式中添加正文代码。同时,为了简化正文进程,我建议开辟人员起首编写正文申明他们想编写的法式。我起首会写正文申明法式中的进程、类或其他法式要素,但对其详细任务道理不做论述。然后我会编写一系列的正文代码描写进程的每次要步调或类的元素。在编写了界说类或申明进程的代码以后,我对各个内部变量、控件、翻开的文件甚至其他进程所会见的元素文档化,对输出参数和前往值做扼要申明。

假如你在利用C#开辟法式,那末VS.NET情况已具有内置的东西匡助你把外部C# 正文转换为内部HTML文档。你可以在本人的文档中加上特别的处置唆使符而改动内部文档的暗示体例。有关这方面的更多信息可以参考VS.NET外部匡助文件: ms-help://MS.VSCC/MS.MSDNVS/csref/html/vcoriXMLDocumentation.htm.
  开发相册系统过程中就有过这样的问题,因为没有交流好,出现重复工作问题,因为文档没有详细的说明而经常临时问对方。
作者: 乐观    时间: 2015-2-4 13:09
兴趣是最好的老师,百度是最好的词典。
作者: 金色的骷髅    时间: 2015-2-5 04:00
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 精灵巫婆    时间: 2015-2-10 17:32
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 活着的死人    时间: 2015-2-23 09:19
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 若相依    时间: 2015-3-7 06:28
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 蒙在股里    时间: 2015-3-8 19:50
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 飘灵儿    时间: 2015-3-11 05:31
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 再现理想    时间: 2015-3-15 06:48
实践是检验自己会不会的真理。
作者: admin    时间: 2015-3-21 18:10
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 分手快乐    时间: 2015-3-24 00:30
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 海妖    时间: 2015-3-31 03:38
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 若天明    时间: 2015-4-17 16:16
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 变相怪杰    时间: 2015-4-24 09:22
做为1门年轻的语言,php一直很努力。
作者: 简单生活    时间: 2015-4-26 10:52
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 冷月葬花魂    时间: 2015-4-29 02:10
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 谁可相欹    时间: 2015-4-30 04:11
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 小妖女    时间: 2015-5-10 02:44
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 莫相离    时间: 2015-5-11 23:22
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 只想知道    时间: 2015-6-6 15:18
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 第二个灵魂    时间: 2015-7-9 05:46
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2