编码规范
        
命名规范

1.1、主要的目录 control 里面是控制类 ,前台命名为something.php,则后台对应的是admin_+前台名称,名称应选有意义的英文单词,例如 前台词条 doc.php,后台词条管理对应的 admin_doc.php

1.2、model目录下个文件是功能模块,命名以 control名称+".class.php" ,例如control中doc.php对应是 doc.class.php
1.3、view是视图类,前台某功能命名为主,如login.htm,space.htm等,若不好命名,以"动词"+"control名称",例如浏览词条可命名为viewdoc.htm,后台命名统一加上admin_前缀,如admin_login.htm 、admin_index.htm等
1.4、lib目录下为基础类,命名用个类的名称为主,如hddb.class.php 、xml.class.php、json.class.php 等
1.5、文件名全部小写,类名,类的方法名全部小写。
1.6、变量名称应使用有意义的小些英文单词或组合命名,中间无任何分隔符,如$doc,$user,$category,$onlineip等等,勿使用拼音或者无意义的$temp,$data等来给变量命名
1.7、常量全部用大写字母,"HDwiki_有意义的英文单词或组合",如define('HDwiki_VERSION', '1.0.0');
1.8、一些列表数据采用“名词+list”,如词条列表数据的变量名使用$doclist,用户列表数据的变量使用$userlist等
1.9、函数或者类的方法命名用小写的英文单词或组合命名,如是组合请用下划线_分割,如 function parse(),function add_doc(),function get_user()等

开发规范
2.1、所有的url都是从 index.php? 开始的,第一个参数是调用的控制器,第二个参数是方法名字,第三个以后的都是方法的参数,例如index.php?doc-view-1 表示 调用/control/doc.php的doview方法,1是该方法的参数
2.2、删除无用的注释,包括无用的函数和方法。
2.3、if语句格式 :需要用大括号,即使只有一句话,例如if(a) echo 'a'; => if(a) { echo 'a'; }
2.4、缩进格式,采用TAB方式缩进
2.5、保证各方法需要有返回值时做有返回值处理,不需要时勿返回值,保证程序异常处理
2.6、杜绝在for循环中调用本可以一次调用的函数或方法如:
for($i=0,$con=count($order);$i<$con;$i++){
$this->db->query("update ".DB_TABLEPRE."friendlink set displayorder=".$i." where id=".$order[$i]);
}
2.7、不需要赋值的地方请勿赋值 如
function addlink($link){
$query = $this->db->query("INSERT INTO ".DB_TABLEPRE."friendlink (name,url,description) VALUES ('$link[name]','$link[url]','$link[description]')");
}
直接写成如下方式即可:
function addlink($link){
$this->db->query("INSERT INTO ".DB_TABLEPRE."friendlink (name,url,description) VALUES ('$link[name]','$link[url]','$link[description]')");
}
2.8、若中间数据可直接返回,请勿再次赋值如:
function get_pms($id){
$pms=$this->db->fetch_first("SELECT * table");
return $pms;
}直接改为:
function get_pms($id){
return $this->db->fetch_first("SELECT a. * ,b.username FROM ".DB_TABLEPRE."pms a,".DB_TABLEPRE."user b where a.toid=b.uid and a.id='".$id."'");
}
2.9、sql语句中:sql关键字大写、表名小写。sql语句坚决不用子查询。不用存储过程、不用外键、不用触发器等。记录数,采用 select count(*) from 表名 的方式
2.10、函数内的局部变量在函数的第一句开始处定义。
2.11、函数和函数之间空一行。
2.12、大括号格式
function get_lastdoc($docid,$doctime){;
}
2.13、写法 if($type=='') 改为 if(''==$type)

转载于:https://www.cnblogs.com/camelroyu/p/5640843.html

hdwiki 编码规范相关推荐

  1. JavaScript最全编码规范

    转载: JavaScript最全编码规范 类型 ●基本类型:访问基本类型时,应该直接操作类型值 ●string ●number ●boolean ●null ●undefined var foo = ...

  2. 【C++】Google C++编码规范(三):智能指针

    [C++]Google C++编码规范(一):作用域 [C++]Google C++编码规范(二):类 std::unique_ptr std::unique_ptr是C++11标准里新推出的智能指针 ...

  3. 《阿里巴巴编码规范(JAVA)》学习认证考后感

    image.png <阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者. 本手册的 ...

  4. google python代码规范_如何用好python编码规范,写一手漂亮的代码

    前一段时间在编写python 代码的时候编辑器中一直在提示规范问题,因为强迫症的原因,我决定遵循python 的编码规范去编码,然后把需要注意的点记录下来, 帮助自己和大家一起成长. 这是我的main ...

  5. Python最简编码规范

    0.前言 本文是阅读<Python Coding Rule>之后总结的最为精华及简单的编码规范,根据每个人不同喜好有些地方会有不同的选择,我只是做了对自己来说最简单易行的选择,仅供大家参考 ...

  6. 华为java安全编码规范_Java安全编码之SQL注入

    随着互联网的发展,Java语言在金融服务业.电子商务.大数据技术等方面的应用极其广泛.Java安全编码规范早已成为SDL中不可或缺的一部分.本文以Java项目广泛采用的两个框架Hibernate和My ...

  7. 分享GitHub上一位老外的嵌入式C编码规范(收藏细读)

    简 介: 本文分析在头条上分享GitHub上一位老外的嵌入式C编码规范(收藏细读):嵌入式大杂烩. 关键词: 嵌入式,C语句,编程规范 分享GitHub上一位老外的嵌入式C编码规范(收藏细读) §01 ...

  8. PHP标记风格,编码规范

    PHP标记风格 PHP一共支持4种标记风格 <?php echo "这是XML风格的标记"; ?> 脚本风格 <script language="php ...

  9. Go 语言编程 — 编码规范指南

    目录 文章目录 目录 参考 工程化要求 编码规范 大小约定 缩进.括号和空格约定 命名规范 包.目录命名规范 文件命名规范 标识符命名规范 变量.常量名 函数.方法名 结构体.接口名 空行.注释.文档 ...

最新文章

  1. ironic驱动-IMPITool
  2. Wince 隐藏TASKBAR的方法
  3. python基础2(来自廖雪峰的官方网站)
  4. SpringBoot_配置-配置文件的加载位置
  5. 不知道用什么图表展示数据?看这份图表选择指南就够了
  6. 从skyeye学习arm( linux篇)
  7. 蓝桥杯 ALGO-79 算法训练 删除数组零元素
  8. android开发学习 ------- json数据与实体类之间的相互转换
  9. Java 中的array数组总结之一
  10. Eclipse 4.7(Oxygen)安装Tomcat Plugin 后没有小猫图标解决方法
  11. 我的Android第二章
  12. java canvas数组_java数组
  13. 福禄克DSX2-8000——支持铜缆、光纤、OTDR测试的多功能网线测试仪
  14. 小米工作室AIoT开发平台高校创新赛报名启动
  15. 全国全量企业工商数据分析报告1
  16. linux下对IP地址的转发和端口的伪装----利用iptables部署
  17. 视频教程-微信小程序开发实战之番茄时钟开发-微信开发
  18. 如何摆脱NAS中的振动和噪音
  19. 计算机启动后无法进入系统怎么办,开机进不了windows系统怎么办
  20. markdown 合并单元格、表格内换行

热门文章

  1. 《脑与语言认知 江铭虎》读书总结
  2. 北航数理统计大作业_2019复旦大学大数据学院统计学硕总分411考研初试经验
  3. pandas 报警告:A value is trying to be set on a copy of a slice from a DataFrame
  4. Stm32cubeIDE1.8 增加代码补齐
  5. 数据管理能力成熟度DCMM-简介
  6. python批量打印_python 批量打印PDF
  7. Maven之快速入门
  8. 经验分享:半桥电路的工作原理及注意问题
  9. html网页左侧背景,CSS设置html网页背景图片 CSS设置网页背景颜色
  10. Origin画图笔记