2022年PHP编码与MySQL数据库开发规范 .pdf
-
资源ID:35293091
资源大小:97.80KB
全文页数:12页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年PHP编码与MySQL数据库开发规范 .pdf
北京大学软件与微电子学院S.T.A.R.C. 文档编号: CS-0001 北京大学软件与微电子学院S.T.A.R.C. PHP编码与 MySQL 数据库开发规范制定人:姜飞修订人:吴敏纲修订日期: 2005-7-5 版本: 2.0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 引言本文档为北京大学软件与微电子学院S.T.A.R.C. 制定的 PHP 编码和数据库开发规范,主要为系统开发所用的HTML 、PHP、MySQL 数据库技术制定一系列约定和规则,他们分别包括文件夹命名规则、文件名命名规则、程序代码编程风格、数据库设计约定。1. 数据库1.1. 数据库文件命名由于目前采用MySQL 作为数据库系统, 数据文件命名均由系统根据库名和表名自动生成,无需规范命名1.2. 数据库库名命名数据库库名长度限定在8 个字符以内, 全部由有含义的英文字母组成。建议使用项目的名字,即保持和项目的文件夹名相同。1.3. 表命名表名长度不能超过30 个字符。表名中含有的单词全部采用单数形式,单词全部字母小写,多个单词间不用任何连接符号。表名采用“表类型_+单词或多个单词”的形式,其中“表类型”以表的使用区分,全部采用小写英文字符,如:“gds(global datastore?), sys, para” 。单词选择能够概括表内容的一个或多个英文单词。示例:gds_teacherinfo 关联表命名规则为“rlt_tableA_tableB ” ,rlt 是 Relation 的缩写, 如: “rlt_student_course”表明是 gds_student 和 gds_course表的关联,主要的用途记录学生选课信息。1.4. 字段命名字段名全部采用小写英文单词,单词之间用下划线隔开。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 1.5. 视图命名命名规则: 视图名 _v,_v 表示视图。1.6. SQL 语句编写规则关键字必须大写。例:SELECT username FROM tablename WHERE cond WHERE 语句有多个condition 时,靠前的condition 应尽可能缩小选择数据的范围。SELECT语句:必须把所需字段明确列出(即使需要表中所有字段),不允许使用“SELECT * FROM xxx ” 。例: SELECT field1, field2, field3 FROM tablename INSERT 语句:必须明确列出插入值对应的各字段名称,不允许省略字段名。例: INSERT INTO tablename (field1, field2, ) VALUES (value1, value2, ) 在字段列表和数值列表的逗号,之后加一空格在条件判断符、 =等前后各加一空格1.7. 时间型字段能用 date类型就不用datetime 类型2. 文件夹文件名规范2.1. 文件夹命名文件夹命名一般采用有意义的英文单词名词,命名采用小写字母。英文单词尽量采用单个单词,当无法区分所代表的含义时再使用两个单词,如“新生”和“毕业生”,无法用一个单词“ student” ,必须使用“newstudent”和“ graduatestudent”来区分,尽量不使用三个单词。一些常见的文件夹命名如下:images(存放图形文件)flash(存放 Flash 文件)style(存放 CSS 文件)scripts(存放 Javascript 脚本)include(存放 include 和 require 文件)link (存放友情链接)media(存放多媒体文件)upload(存放上传文件)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 2.2. 文件命名文件名称统一用小写的英文字母、数字和下划线的组合。命名原则:使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义添加适当前缀, 以便在文件夹中使用“按名称排例”的命令时,同一模块的文件能够排列在一起。2.2.1. 图片命名命名规则: 名称分为头尾两部分,用_隔开, 头部分表示此图片的大类性质,例如广告、标志、菜单、按钮等等。放置在页面顶部的广告、装饰图案等长方形的图片取名:banner 标志性的图片取名为:logo 在页面上位置不固定并且带有链接的小图片我们取名为button 在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名:menu 装饰用的照片我们取名:pic 不带链接表示标题的图片我们取名:title 例 :banner_sohu.gif 、 banner_sina.gif 、menu_aboutus.gif 、 menu_job.gif 、title_news.gif 、 logo_police.gif 、 logo_national.gif 、pic_people.jpg 。2.2.2. PHP文件命名命名规则:一般用一个能够描述该文件功能的“名词”命名,如果不能描述清楚,则用“动词” +“_”+“名词”的方式来命名。如一般系统用户注册,就用“register.php”作为主文件的用户名,如果教师注册、学生注册的页面文件不一样,则教师注册页面使用“register_teacher.php”命名,学生注册的页面使用“register_student.php”命名。3. 程序代码编程规范3.1. 命名规则3.1.1. 变量/ 函数一般命名规则一般不使用 _分隔单词,多个单词组成的标识名通过单词首字母大写分隔。如“ $strName”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 3.1.2. 变量命名所有字母都使用小写,如由多个单词组成,首字母后的单词首字母大写。例: $strUserName; 3.1.3. 变量类型前缀原则上定义的变量应加上类型前缀,各类型对应前缀如下表:子类型前缀示例Integer i iQuantity Float f fNumber Double d dTolerance String str strFirstName Integer Array iArr iArrNumber Float fArr fArrPrice Double dArr dArrPrice String Array strArr strArrCustom Object O oCurrent 特例:1)其中,只有在for 循环或 while 循环中表示计数时,才可直接使用i、j、k 等字母命名变量。2)命名 SQL 变量,需统一命名,规则如下:查询数据 SQL:$querySql 插入数据 SQL:$insertSql 更新数据 SQL:$updateSql 删除数据 SQL:$deleteSql 3.1.4. 全局变量命名全局变量命名应使用前缀global_。原则上全局变量限制使用,一个模块里应不超过3个,使用不超过5 次。例: global $global_strLog; 建议不使用全局变量。3.1.5. 全局常量命名全局常量使用_分隔每个单词,每个单词均大写。例: $DB_LOGIN_NAME = root; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 3.1.6. 静态变量命名静态变量命名应使用前缀static_ 例: static $static_Status = 0; 3.1.7. 引用变量和函数返回引用命名引用变量命名应使用ref_前缀,例: function doSomething (&$ref_Status) ; function &ref_Status ( ) ; 3.1.8. 临时变量命名临时变量命名应使用前缀tmp_type。例: $tmp_objResult; 3.1.9. 函数/ 方法的命名函数和方法命名应第一个单词全部小写,后面每个单词第一个字母大写,其它字母小写,采用“动作 +名词” 。常用的一些前缀名:is - 含义为问一个关于某样事物的问题。无论何时, 当人们看到Is 就会知道这是一个问题。get - 含义为取得一个数值。set - 含义为设定一个数值。例如: isHitRetryLimit 3.1.10. 类命名名字的首字母使用大写,其他的字母均使用小写。不使用下划线(_) 派生类的命名只与它自身有关,与其父类名称无关。例: class NameOneTwo 3.1.11. 类库命名目前为避免不同厂商和团体类库间的类名冲突,命名空间正在越来越广泛的被采用。当尚未采用命名空间的时候,为了避免类名冲突,可在类名前加上独特的前缀,两个字符一般就可以了。John Johnson的数据结构类库可以用Jj 做为前缀,如下:class JjLinkList 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 3.1.12. 类的成员变量命名类的成员变量命名应该以m_为前缀。例:class NameOneTwo var $m_VarAbc; var $m_ErrorNumber; var $m_rName; 3.2. 一般编码规范3.2.1. 注释规范注释分为文件注释、函数注释和功能注释。正规程序的注释应注意:注释行的数量占到整个源程序的1/3 到 1/2。注释必不可少,但也不应过多,以下是四种必要的注释:1)文件说明2)函数说明3)变量说明4)逻辑说明3.2.1.1. 注释语言程序应用英语注释,以防止非中文环境下出现乱码。相应的中文注释可选。3.2.1.2. 文件注释文件注释位于整个源程序的最开始部分,注释后空两行开始程序正文。它包括:文件功能说明。文件作者(联系email)版本号:按照配置管理工具中的版本信息来填写例:/* *功能说明*author 作者名( Email )*当前版本: x.x */ (空 2 行,开始程序正文) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 3.2.1.3. 函数注释对几乎每个函数都应有适当的说明,通常加在函数实现之前,在没有函数实现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明,参数说明、返回值说明,作者说明等,必要时还要有一些如特别的软硬件要求等说明。 3.2.1.4. 变量与程序逻辑说明如果是进行单个程序行的注释,使用“/” ;如果一段程序的注释,使用/* */;所有的加 WHERE 条件的 SQL 语句和 IF 语句都必须加逻辑注释3.2.1.5. if、else 、while 等语句块的风格与注释要求在语句块结束的处注释处的语句条件,示例如下:if ( cond1 ) / if ( cond1 ) else while ( cond2) / while (cond2 ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 3.2.1.6. 代码修改注释如果修改别人的文件、类或函数时, 需要将修改的代码注释掉,然后在自己修改的代码两端添加如下注释:/Modified by #Name(#Email), #Date /Modified End 3.2.2. PHP格式规范3.2.2.1. PHP语句标识以作为 php 的语句标识。3.2.2.1.1. 在 HTML中嵌入 PHP 示例如下: HTML 标记 +CR php 结束标记 +CR HTML标记3.2.2.1.2. 在 PHP中嵌入 HTML 把原 HTML 转化为 PHP 语句时,建议使用 phpedit 中的 Convert HTML code to PHP Script功能。在用 Print 输出 HTML时,在语句块上方先在/* */注释中填入原HTML语句,在 Print语句块下方留出一个空行,与PHP 逻辑代码相区分。示例如下:/* 原 HTML语句*/ Print” ”空行逻辑代码在PHP 中显示大段 html 代码时不用写 PHP 终结符,只用 echo 、=)等前后应加上一个空格3.3. PHP 的数据库操作注意调用 mysql_free_result() 和 Ora_Close() 释放查询的资源使用 Oracle 数据库时,注意用Ora_Bind () 绑定 PHP 变量到 Oracle 参数进行优化正确使用 mysql_pconnect() 、mysql_connect () 和 Ora_pLogon() 、Ora_Logon()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 3.4. HTML 页面代码规则3.4.1. HTML 一般编写规范HTML 的所有标记应采用大写,属性值采用小写除、 外,标记必须有结束标记赋值等号 =的前后应留出一个空格3.4.2. Head区规则Head 区是指首页HTML 代码的 和之间的内容。以下内容暂为参考。3.4.2.1. Head区应加入的标签:公司版权注释 网页显示字符集1. 简 体 中 文 : 000 2. 繁体 中 文 : 3. 英语: 网页制作者信息 网站简介 搜索关键字 网页的 css 规范 (参见目录及命名规范) 网页标题xxxxxxxxxxxxxxxxxx 3.4.2.2. 可以选择加入的标签:设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。 禁止浏览器从本地机的缓存中调阅页面内容。 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 北京大学软件与微电子学院S.T.A.R.C. 用来防止别人在框架里调用你的页面。 自动跳转。 5 指时间停留5 秒。 网页搜索机器人向导.用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。 CONTENT 的参数有 all,none,index,noindex,follow,nofollow。默认是 all。收藏夹图标 3.4.3. JavaScript调用所有的 javascript 的调用尽量采取外部调用例如: javascript 中,函数内部使用的变量都必须先用var 定义变量可能覆盖函数名,命名时必须区分。具体的命名规范,可参考PHP 编码的命名规范。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -