是有能力找到避免代码大段(超过10行)重复或类似的情况。 需要强调的是,本部分虽然篇幅较短,但却是十分需要经验,并将花费开发者大量时间和精力去进行优化的部分,任何产品开发者必须时刻清楚和理解代码重用的重要性和必要性,切实在增强产品效率、逻辑性和可读性上下功夫,这是一名优秀软件开发者所必须具备的基本素质。
4.9.其他细节问题
4.9.1. 包含调用 包含调用程序文件,请全部使用require_once,以避免可能的重复包含问题; 包含调用缓存文件,由于缓存文件无法保证100%正确打开,请使用include_once或include。在必要时,可以使用@include_once或@include的方式,以忽略错误提示; 包含和调用代码中,须以PHPCMS_ROOT.’/’开头,应避免直接写程序文件名(例如:require_once ‘x.php’;)的做法; 所有被包含和调用的程序文件,包括但不限于程序、缓存或模板,通常其不能被直接URL请求。phpcms通过在./include/common.inc.php中定义一个标记性常量IN_PHPCMS,来判断程序是否被合法调用。因此,在除了./include/common.inc.php以外的任何一个被包含和调用的程序文件中,需要包含以下内容,以使得访问者无法直接通过URL请求该文件: defined(''IN_PHPCMS'') or exit(''Access Denied'');
4.9.2. 错误报告级别 在软件开发和调试阶段,请使用error_reporting(E_ALL);作为默认的错误报告级别,此级别最为严格,能够报告程序中所有的错误、警告和提示信息,以帮助开发者检查和核对代码,避免大多数安全性问题和逻辑错误、拼写错误。error_reporting()可以在./include/common.inc.php的头几行进行设置。 在软件发布时,请使用error_reporting(E_ERROR | E_WARNING | E_PARSE);作为默认的错误报告级别,以利于用户使用并将无谓错误提示信息降至最低。 5. 数据库设计 5.1.字段 5.1.1. 表和字段命名 表和字段的命名以前面《4.4命名原则》的约定为基本准则。 所有数据表名称,只要其名称是可数名词,则必须以复数方式命名,例如:phpcms_member(用户表);存储多项内容的字段,或代表数量的字段,也应当以复数方式命名,例如:hits(查看次数)、items(内容数量)。 当几个表间的字段有关连时,要注意表与表之间关联字段命名的统一,如phpcms_article_1表中的articleid与phpcms_article_data_1表中的articleid。 代表id自增量的字段,通常用以下几种形式: l 一般情况下,使用全称的形式,例如userid、articleid; l 没有功能性作用,只为管理和维护方便而 |