ECSHOP编码命名规范

ECSHOP编码命名规范
ECSHOP编码命名规范

ECSHOP

编码规范

1.编辑器设定

1.1. 缩进

所有的缩进使用空格取代Tab制表符。PHP文件采用4个空格的缩进,HTML文件以及HTML文件中嵌入的Javascript代码采用2个空格的缩进;单独的Javascript以及CSS文件采用4个空格的缩进。

1.2. 字符编码

所有PHP、HTML文件均保存为No Bom UTF-8的字符编码。

变量名应当全部小写,并且词语之间以单个下划线分隔。

例如:$current_user 是正确的,但是$currentuser 和$CurrentUser 就不正确。

名称应当是描述性的,并且简明。我们自然不希望使用冗长的句子作为变量名,但是多输入几个字符总好于疑惑于某个变量到底是干什么用的。

1.3. 循环计数器

允许使用一个单字符变量名的唯一情形是当它作为一个循环计数器的时候。在这种情况下,外层循环的计数器应当始终是$i。如果有一个循环处于这个循环的内部,它的计数器应当是$j,进而是$k,等等。如果循环的计数器是一个已经存在并且名字有意义的变量,本规范并不适用。

例如:

for ($i = 0; $i < $outer_size; $i++)

{

for ($j = 0; $j < $inner_size; $j++)

{

foo($i, $j);

}

}

1.4. 函数名称

函数也应该描述性地命名。这里我们并非在用C 编程,我们不希望写出诸如“stristr()”此类的函数来。同上,使用单词间用单下划线分隔的小写名称。函数名称中某处最好有一个动词。较好的函数名称如print_login_status(),get_user_data(),等等。

1.5. 函数参数

参数遵循和变量名字相同的约定。我们不希望一堆这样的函数:do_stuff($a, $b, $c)。在大部分情况下,我们希望仅仅看看函数的声明,就知道怎样使用它。

1.6. 类的名称

类的名称首先必须是一个有意义的英文单词或者词组。同时在书写格式上为了使类名和函数、变量有一个区别,我们要求类的名称全小写的写法,并且加上cls_作为前缀。

例如:

/* 错误的写法 *

class image_handle {}

class imagehandle {}

class imageHandle {}

/* 正确的写法 *

class cls_imagehandle {}

1.7. 总结

这里的基本哲学是不要为了偷懒而伤害了代码的清晰。但是,必须由一些常识来掌握这种平衡;例如,print_login_status_for_a_given_user() 做得就过火了——这个函数命名为print_user_login_status() 更好些,或只是print_login_status()。

2.代码布局

这里是一个头部的模板,所有的PHP文件的开始都必须包含下面的内容:

/**

* ECSHOP 升级程序之控制器

*

================================================================= ===========

* 版权所有 (C) 2005-2007 康盛创想(北京)科技有限公司,并保留所有权利。

* 网站地址: https://www.360docs.net/doc/375446476.html,

*

----------------------------------------------------------------------------

* 这是一个免费开源的软件;这意味着您可以在不用于商业目的的前提下对程序代码 * 进行修改、使用和再发布。

*

================================================================= ===========

* $Author$

* $Date$

* $Id$

*/

2.1. 注释的写法

根据流行的注释写法我们要求对于代码段的注释采用以下的方式来书写:

/* 注释内容 */

对于单行的注释则使用下面的注释形式,注意在//之后有一个空格:

define(…IN_ECS?, ture); // 注释内容

2.2. 始终包含大括号

这是因为懒于多敲两个字符而给代码清晰带来问题的又一个情形。尽管有些结构的主体部分只有一行,千万不要丢掉大括号。绝对不要。

例如:

/* 这些都错了 */

if (condition) do_stuff();

if (condition)

do_stuff();

while (condition)

do_stuff();

for ($i = 0; $i < size; $i++)

do_stuff($i);

/* 这些是对的 */

if (condition)

{

do_stuff();

}

while (condition)

{

do_stuff();

}

for ($i = 0; $i < size; $i++)

{

do_stuff();

}

2.3. 大括号放在哪儿

这一点是网络上争论比较多的一部分,但是我们将使用一种可以用一句话总结的风格:大括号始终独占一行。终止大括号还应当与起始大括号处在同一列上。

例如:

if (condition)

{

while (condition2)

{

...

}

}

else

{

...

}

for ($i = 0; $i < $size; $i++)

{

...

}

while (condition)

{

...

}

function do_stuff()

{

...

}

2.4. 符号之间使用空格

这是不用太费事就可以保持代码可读性的另一个简单,容易的步骤。无论何时你写一个赋值,表达式,等等,始终在符号之间保留一个空格。基本上,把代码当作英语来写。在变

量名和运算符之间插入空格。不要在起始括弧后或者终止括弧前加空格。不要在逗号或者分号之前加空格。一些例子很好地展示了这一点。

例如:

/* 每一对给出了错误方式,紧跟正确方式。 */

$i=0;

$i = 0;

if($i<7) ...

if ($i < 7) ...

if ( ($i < 7)&&($j > 8) ) ...

if (($i < 7) && ($j > 8)) ...

do_stuff( $i, "foo", $b );

do_stuff($i, "foo", $b);

for($i=0; $i<$size; $i++) ...

for($i = 0; $i < $size; $i++) ...

$i=($j < $size)?0:1;

$i = ($j < $size) ? 0 : 1;

2.4.1.字符串连接符

当使用字符串连接符时必须在句点(.)两侧加上空格。

// 错误的写法

$str = …?;

$str = …?;

// 正确的写法

$str = …?;

2.5. 运算符优先级

你知道PHP 中所有运算符的详细的优先级吗?我也不知道。不要猜。始终用括号强制一个表达式的优先级可以使优先级明显,这样你知道它会做些什么。

例如:

/* 结果是什么?谁知道? */

$bool = ($i < 7 && $j > 8 || $k == 4);

/* 现在你确定这里我在做什么了。 */

$bool = (($i < 7) && (($j < 8) || ($k == 4)))

2.6. 空行的使用

谁也不愿意看到挤在一堆的无序的代码。我们在写代码的时候总是会利用一些空行来增加代码可读性。合理的利用空格来区分代码段会使代码的逻辑思路更加明确。我们强行规定的空行有以下两种情况:

1、

2、?> 之前必须有且只有1个空行

3、两个函数之间必须有1个空行。

4、return、die、exit之前如果有其他语句的情况下应加上一个空行。

在代码中我们不允许仅有空格的空行,并且不允许在行尾有多余的空格。

3.SQL 语句

3.1. SQL 代码布局

既然我们都在使用不同的编辑器设置,不要尝试去做诸如在SQL 代码中实现列对齐此类的麻烦事。要做的是,不管用何种方法,把语句断行到它们单独的行上去。这里有一个SQL 代码看上去应该是什么样子的示例。注意在哪里断行,大写,和括号的用法。

例如:

SELECT field1 AS something, field2, field3

FROM `table` a, `table` b

WHERE (this = that) AND (this2 = that2)

3.2. 表名和字段值

SQL语句中的表名必须使用`符号包含起来;同时所有字段值的变量名必须包含在单引号之内,即便是整数值也必须有单引号。

例如:

// 这是错误的

INSERT INTO mytable (col1, col2, col3)

VALUES ($val1, $val2, $val3)

// 这是正确的

INSERT INTO `mytable` (col1, col2, col3)

VALUES (…$val1?, …$val2?, …$val3?)

3.3. SQL select 语句

在已知需要查询的字段的前提下,不允许使用如下的代码:

SELECT * FROM `mytable`

取而代之的写法是将每一个字段名写上去,请不要偷懒。

SELECT col1, col2, col3 FROM `mytable`

在需要获得已知记录数量情况下,请使用LIMIT offset, count 的方式,尽量不要使用无LIMIT 的SELECT 语句。

在需要或者满足条件的记录数量的情况下,请使用SELECT count(*|expr) FROM 的方式,尽量不要使用SELECT expr FROM 的方式。

需要进行逻辑运算的时候,尽量不要使用不等于,可以使用大于或者小于的方式。

3.4. SQL insert 语句

SQL INSERT 语句可以写成两种不同方式。或者你明确指明要插入的列,或者你已经知道数据中各列的顺序,不用详细指定它们。我们希望使用前一种方法,也就是详细说明插入哪些列。这意味着应用程序代码不会依赖于数据库中字段的顺序,也不会因为我们增加另外的字段而崩溃(当然,除非它们被指定为NOT NULL)。

例如:

# 这不是我们想要的

INSERT INTO `mytable`

VALUES ('something', 1, 'else')

# 这是正确的。

INSERT INTO `mytable` (column1, column2, column3)

VALUES ('something', 1, 'else')

3.5. SQL语句中的单引号

在SQL语句中字段值如果是变量必须是用单引号包围起来,无论这个变量是字符串还是数字。

例如:

$str = …ecshop?;

$n = 1;

$sql = “INSERT INTO table (string, number) VALUES (…$str?, …$n?)”; 需要注意的是,如果字段的值是一个常量的数字,则不能使用单引号。

4.Smarty语法

4.1. 双引号、单引号

为了避免dreamweaver将Smarty语句中的双引号改写为",我们要求在Smarty的花括号中不允许使用双引号,而是使用单引号。

错误的写法:

{if $user_name eq “”}匿名用户{/if}

{insert name=”query_info”}

正确的写法:

{if $user_name eq …?}匿名用户{/if}

{insert name=?query_info?}

4.2. 有条件设置HTML属性值

当需要在模板中有条件的设置HTML元素属性值的时候,我们要求所有语句均包含在双引号之内。

错误的代码:

{if $promote_price>0}”promote_goods”

{else}”nomarl_goods”{/if}

>{$goods.goods_name}

正确的写法:

{$goods.goods_name}

4.3. 条件修饰符

在smarty中可以用eq、neq、gt、lt等来分别表示==、!=、>、<。那我们到底该使用哪种呢?

当Smarty语句出现在HTML标签内时不允许使用==、!=这类修饰符,如果使用了这类修饰符有可能导致该符号或者其他的HTML相关符号被Dreamweaver自动转义。

总之,尽量使用eq、gt等这类条件修饰符,避免直接使用==、>。

5.一般规范

5.1. 引用字符串

在PHP 中有两种不同的方式引用字符串——使用单引号或使用双引号。主要区别是:解析器在双引号括起的字符串中执行变量替换,却不在单引号括起的字符串中执行。因此,应当始终使用单引号,除非你确实需要对字符串进行变量替换。这样,我们可以避免让解析器解析一堆不需要执行替换的字符串的麻烦。同样,如果你使用字符串变量作为函数调用的一部分,你不需要用引号把那个变量括起来。同样,那只会给解析器增加不必要的工作。无论如何,要注意几乎所有双引号中的转义序列在单引号中都不会起作用。如果这条规范使你的代码难以阅读的话,要小心,并且放心地打破它。

例如:

/* 错误 */

$str = "This is a really long string with no variables for the parser to find.";

do_stuff("$str");

/* 正确 */

$str = 'This is a really long string with no variables for the parser to find.';

do_stuff($str);

5.2. 关联数组的键名

在PHP 中,使用一个不用引号括起来的字符串作为一个关联数组的键名是合法的。我们不想这样做——为了避免混乱,这个字符串应当用引号括起来。注意,这只是当我们使用字符串时的情况,不是当我们使用变量时的情况。

例如:

/* 错误 */

$foo = $assoc_array[blah];

/* 正确 */

$foo = $assoc_array['blah'];

5.3. 注释

每个函数之前应当有注释,告诉一个程序员使用这个函数所需要知道的事情。一个最小化的注释应包括:每个参数的意义,期望的输入,函数的输出。注释还应当给出在错误条件下(还有具体是什么错误条件)这个函数的行为。(注释应该确保)其他人不必察看这个函数的代码,就可以自信地在自己的代码中调用这个函数。

另外,为任何技巧性的,晦涩的或者并非显而易见的代码添加注释,无疑是我们应该做的事情。对文档尤其重要的是你的代码所做的任何假设,或者它正确运转的前提。任何一个开发者应该能够查看应用程序的任意部分,并且在合理的时间内断定(代码的执行中)发生了什么。

5.4. 幻数(常数)

不要使用它们。除非有明显的特殊情况,对任何一个精确值都应该使用命名常量。基本上,用字面的0 检查一个数组是否有0 个元素是OK 的。而给一个数字以特殊意义并且到处直接使用它是不OK 的。这会影响可读性和可维护性。按照本规范,我们应当使用常量TRUE 和FALSE 来代替字面上的1 和0——尽管它们有着相同的值,当你使用命名常量时逻辑会更加明显。

5.5. 简化运算符

简化自增($i++)和自减($i--)运算符是导致可读性问题的仅有的简化运算符。这些运算符不应当被用作表达式的一部分。然而,他们可以独占一行使用。在表达式中使用它们(带来的便利)还不够调试时头痛的(代价)。

例如:

/* 错误 */

$array[++$i] = $j;

$array[$i++] = $k;

/* 正确 */

$i++;

$array[$i] = $j;

$array[$i] = $k;

$i++;

5.6. 条件表达式

条件表达式只应该用来做简单的事情。它们只适合拿来做赋值用,根本不是用来做函数调用或者任何复杂的事情的。如果使用不当,它们会影响可读性,所以不要沉迷于使用它们来减少打字。

例如:

/* 不应该使用它们的地方 */

(($i < $size) && ($j > $size)) ? do_stuff($foo) : do_stuff($bar);

/* 使用它们的合适地方 */

$min = ($i < $j) ? $i : $j;

不要使用未初始化的变量:我们打算使用更高级别的运行时错误报告。这将意味着使用未初始化的变量不再会作为错误被报告。这个问题最容易在检查HTML 表单传递了什么变量时出现。这些错误可以通过使用内嵌的isset() 或者empty()函数检查一个变量是否被设置来避免。

例如:

/* 老办法 */

if ($forum) ...

/* 新办法 */

if (!empty($forum)) ...

if (isset($forum))…

5.7. if 以及else if的写法

当条件语句中的条件存在多个,并且有变量值的判断的时候,需要把变量的判断语句放在其他的条件语句之前。

正确:

if ($val == 1 && function_exists(…ob_gzhandler?))

{}

错误

if (function_exists(…ob_gzhandler?) && $val == 1)

{}

虽然在PHP 中else if 和elseif 的作用基本上是一样的。但是为了代码的统一性(也有传言else if 会出现不稳定的情况),我们要求将elseif 之间不保留空格:

if ($bool == 2)

{

}

elseif ($n = 1)

{

}

5.8. 输入变量的初始化

无论是函数的参数还是通过URL传递的变量,在调用之前均必须对其进行预处理以及设定默认值。

字符串必须进行trim的处理,并且如果变量的值是在我们预计的范围之内,需要对变量的非法值做出相应的处理;对于数字型的变量则需要进行intval或者floatval的处理。

5.9. require和include

在程序中需要使用包含文件的时候我们要求使用require_once或者include_once,不允许使用require或者include。

对于程序必须包含的文件只能采用require_once,而对于某些有条件包含的文件在引用时只能使用include_once。

5.10. 语言项

为了避免在其他语言环境下出现问题,在程序中应尽量少使用或者不使用语言项与语言项或者变量拼接的处理方式。如:

$_LANG[…add?] . $_LANG[…goods?]

$_LANG[…add?] . $goods[…goods_name?]

正确的方法应该是采用sprintf函数来处理。

ecshop数据库表结构

Ecshop 2.7.0数据库表结构 绿色:ecshop2.7.0当中的数据库。86个数据表 蓝色:ecshop2.7.0没有的! 蓝色:ecshop2.5.0在ecshop 2.7.0中没有的。。(追加进去的) ===================================================================================== ecs_account_log//用户账目日志表(log_id user_id user_money froz en_money rank_points pay_points change_time change_desc change_type) ecs_activity//活动表(代码,名称,开始,结束,描述) ecs_ad//广告表(广告序号,广告位置,媒体类型,名称,链接,上传广告图片,开始,结束,广告联系人信息,点击,是否显示) ad_id position_id media_type ad_name ad_link ad_code start_time end_time link_man link_email link_phone click_count enabled ecs_admin_action//管理权限分配(父类ID,权限代码) action_id parent_id action_code ecs_admin_log//管理日志(登陆时间,登陆管理员ID,操作描述,IP) log_id log_time user_id log_info ip_address ecs_admin_message//管理员留言(发送者ID,接收者ID,发送日期,阅读日期,是否 已读,是否删除,标题,内容) ecs_admin_user//管理员管理(用户名,email,密码,加入时间,最后登陆时间,最后 登陆IP,权限等) ecs_adsense//广告相关统计(来源广告,来源位置,点击) ecs_ad_custom//广告客户(ad_id,ad_type,ad_name,add_time,content,url,ad_status)ecs_ad_position//广告位(名称,宽,高,描述,样式) position_id position_name ad_width ad_height position_desc position_style ecs_affiliate_log//?(名称,宽,高,描述,样式) ecs_agency//?(名称,宽,高,描述,样式)

C#编码规范(完整资料).doc

【最新整理,下载后即可编辑】 1程序结构 所有源代码的结构均采用以下顺序布局,对于没有的部分可以省略,便于阅读代码。 //============================================== ================================================ #region Constant #endregion Constant //---------------------------------------------------------------------------------------------- #region Members #endregion Members //---------------------------------------------------------------------------------------------- #region Defaults #endregion Defaults //---------------------------------------------------------------------------------------------- #region Properties #endregion Properties //============================================== ================================================ #region Constructors #endregion Constructors //---------------------------------------------------------------------------------------------- #region InterfaceMethods #endregion InterfaceMethods //---------------------------------------------------------------------------------------------- #region StaticMethods #endregion StaticMethods //---------------------------------------------------------------------------------------------- #region OverrideMethods #endregion OverrideMethods //---------------------------------------------------------------------------------------------- #region PrivateMethods #endregion PrivateMethods //---------------------------------------------------------------------------------------------- #region ProtectedMethods #endregion ProtectedMethods //---------------------------------------------------------------------------------------------- #region PublicMethods #endregion PublicMethods //============================================== ================================================ #region Events #endregion Events //============================================== ================================================ 2命名规则和风格 ⑴类、方法、常量采用Pascal风格命名 public class SomeClass { const int DefaultSize = 100;

ECshop模板制作教程

ECshop模板制作教程 我是一个EC新手,EC就算做再多的模板,肯定也满足不了我们的需要,更何况各行有各行的门道,EC统一做出来的模板也不一定合适于我们这个行业用,因此,只有我们真正掌握了自己做模板,修改模板的功夫,才能真正的打造适合自己的电子商务平台,真正打造符合自己行业内的客户习惯的电子商务平台。 首先欢迎各位浏览本教程,恭喜大家使用 ECshop,!EC有多好,ECshop是PHP 构建的,PHP的应用我也不想多说了(亚马逊:https://www.360docs.net/doc/375446476.html,,雅虎:https://www.360docs.net/doc/375446476.html,,百度:https://www.360docs.net/doc/375446476.html,淘宝:https://www.360docs.net/doc/375446476.html,新浪:https://www.360docs.net/doc/375446476.html,,腾讯:https://www.360docs.net/doc/375446476.html,),(ps: ECshop成功了!在这一刻,他是伟大电子商务的传承,他不是一个人在战斗,他不是一个人 -_-!!! ) 我也不多讲了大家都知道,不过有时候热爱潜水的我真的时是实在忍不住要跳出来说两句. 本教程适用于了解 ECshop 和 ECshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee …意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师)。这个教程目前由我一个人维护,但我相信,过不了多久就会有多人持续地维护。其中的内容需要不断地更新。如果您有兴趣参加,嘿嘿,PM我。我们一起为大家服务啊. 通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:) 下列章节的适用于ECshop程序。同时这里许多内容和一些 Smarty相关。假如您已经熟悉这些内容可跳过不阅读。假如您是ECshop新手并且想diy一下自己的店铺,那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) 希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧! 第一章节: 读取这些内容,您将了解: 每个前台页面所对应的模板页面,模板文件的目录结构。 一些最基本的ECshop模板修改方法。 模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。 一些常用模板例子讲解. 模板存放路径: ecshop/themes/xxxxx 其中的xxxxx就是某一套模板,如系统一般会自带的

项目开发及编码规范

项目开发规范文档修订历史记录

1.简介 目的 1、用于规范指导开发组进行开发 2、便于成员间的沟通与交流。 3、有助于项目质量和稳定。 4、为后期维护提供支持 2. 项目开发流程 项目开发过程归纳分为以下步骤: 1. 建立SVN项目版本控制。包括文档,源码,Lib包等。 2. 了解需求,并对需求文档的书写。(见文档结构规则附录)。 3. 详细设计文档。(见文档结构规则附录)。 功能模块设计,重要模块的算法设计。 数据库设计等。 根据需求定义开发平台及环境。 4. 编码。 搭建开发平台,配置开发环境。 编码。 单元测试案例。 5. 书写软件安装手册文件,数据库脚本文件,以及注意事项(release notes)。 6. 交互测试组测试。根据测试组测试结果是否回归第4步(测试回归最好不要超过2 次)。 7. 测试通过,交付上线使用。 维护手册 使用手册

3. 代码规范 Java 代码规范 3.1.1 Java类名 类名可由:英文字母,数字,下划线组成。(数字,下划线不能够开头) 类名由一个或者多个单词组成。单词通常要求简洁明了达意。能够通过类名能够大致了解此类的作用和用途。 类名要求首字母大写,多个单词组成类名时,单词的首字母要求大写。 建议:类名不要过于简单或者太长。可以对单词采用简化的名称:入: Number 简化为:num 。 3.1.2 Java类结构 类仅作为数据结构,没有行为,他封装了一组或者相似的一些行为方法。所以一个类尽量功能单一,或者功能类似共有行为的。一个类不要过于庞大。 通常情况下: 一般逻辑类中应该有构造方法和main方法,main方法中应该有测试代码。 每个类应该有 toString() 方法。 3.1.2.1 包和引入语句 在多数Java源文件中,第一个非注释行是包语句。在它之后可以跟引入语句。 报名的定义全部是小写字母。具体定义依据项目而定。 引入包时候,同一类型的归纳到一块,用空行隔开。例如: import 3.1.2 类注释 Java类开头应该有相应的注释:类版本描述,作者签名,日期时间,公司备注,类的功能作用相关描述等。(详细查看:注释) 3.1.2.2 类成员变量 a) 类变量要求放在类的开始声明。一行声明一个。 b) 变量名称首字母要求小写。其他命名规则类似与类名。 c) static , final 类型的变量,字母要求全部大写。 d) 尽量在声明局部变量的同时初始化。 e) 避免局部变量和成员变量同名,覆盖了成员变量。 f) 尽量变量私有化,缩小变量的作用域。 3.1.2.3 类成员方法 a) 方法名命名规则类似于成员变量命名规则。 b) 成员方法尽量私有化。

ECSHOP模板头部修改

今天开始从头部进行修改,头部的话针对的是所有的页面,你可以把头部做成一个公用文件,不过由于调用的JS和一些样式的不同也可以分开来做,如果要做成公共头文件的话,要把所有页面都会调用的JS和CSS加载上,不过东西也不多的,下面我就做成一个公共文件来用。 先讲一下每个页面的关键字:{$keywords},这是使用的smarty模板变量用来输出。“{}”是用来规定标签的开始与结束位置,有些类似于PHP中的“”,原理是一样的,中间的变量$keywords是从后台PHP文件中传输过来的变量,里面存储有值,{$keywords}就是把里面的值进行输出,由于{$keywords}和{$page_title}(页面标题的输出,在title标签间输出)是包含在head标签中的,所以我们可以不用动它们,不必把它们写进公共头文件。在head 标签中还有一个{insert_scripts files=','},它是用来调用JS文件的,如所见,它调用了,两个JS文件,head内的我们都不做为公共头文件,不过一会在公共头文件中我们会用到这个调用JS的方式,把所有要用到的JS文件调用进来。 首先新建一个公共头文件与其它*.dwt文件放一起,在第一行我们调用所有的JS文件:{insert_scripts files=',,auto_,,,,,,shopping_,,,,,'} JS文件很多,但不是每个页面都会用到所有的JS文件,或都有的页面已经在head中调用了一些需要使用的JS文件,有与我们写的JS文件重复的,没有关系,我们只是为了做一个公共文件,不用在每个页面都单独再去调用,有重复不会有任何影响。 下来我们来确定一下的字符集设置: 我使用的是gbk字符集,如果你使用的是utf-8的话,就要把字符集进行相应设置。 下面是一段JS代码: 设置它是为了防止有些页面调用JS页面时出现加载错误而无法正常运行程序。 下面是对LOGO图片的设置:

ecshop模板结构说明及标签(二次开发使用)

ECSHOP 模板结构说明(适用版本v2.1.5+) 名称类型备注(作用或意义)文件(目录)名可否更改images 目录存放模板图片目录不可更改 library 目录存放模板库文件目录不可更改 screenshot.png 图片用于“后台管理-> 模板管理-> 模板选择”显示 模板缩略图。 不可更改 style.css css样式表不可更改 备注:模板文件共32个(格式:.dwt)。 提醒: 1, 更改模板文件里面库文件的内容是无效的,页面刷新时,程序自动重新载入库文件内容到模板文件里(以库文件内容为准)。 2, 模板内所有id值为ECS_ 开头的都必须保留(和ajax相关)。 3, 非库文件内容不可放置到可编辑区域内,否则设置模板时,非库文件内容将被覆盖删除。 activity.dwt 模板文件活动列表页不可更改 article.dwt 模板文件文章内容页不可更改 article_cat.dwt 模板文件文章列表页不可更改 article_pro.dwt 模板文件文章内容页(如免责声明等) 不可更改 auction.dwt 模板文件拍卖商品详情页不可更改 auction_list.dwt 模板文件拍卖商品页不可更改 brand.dwt 模板文件商品品牌页不可更改 brand_list.dwt 模板文件商品品牌列表页不可更改 catalog.dwt 模板文件所有分类页不可更改 category.dwt 模板文件商品列表页不可更改 compare.dwt 模板文件商品比较页不可更改 flow.dwt 模板文件购物车和购物流程页不可更改 gallery.dwt 模板文件商品相册页不可更改 goods.dwt 模板文件商品详情页不可更改 group_buy_goods.dwt 模板文件团购商品详情页不可更改 group_buy_list.dwt 模板文件团购商品列表页不可更改 index.dwt 模板文件首页不可更改message.dwt 模板文件信息提示页不可更改 message_board.dwt 模板文件留言板页不可更改 myship.dwt 模板文件我的配送页不可更改

https://www.360docs.net/doc/375446476.html,c#开发规范

https://www.360docs.net/doc/375446476.html, C#开发规范 第一部分 第一章ASP编码规范通述 ASP编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码。 静态文件编码分Script编码和HTML编码两部分。 服务器端编码则分为服务器脚本、客户端脚本、HTML脚本三部分。 编码规范采用如下约定: 所有客户端脚本一律使用JavaScript 所有服务器端脚本一律使用c# 静态页面输出一律使用HTML脚本 本规范不适用于由服务器端脚本所产生的客户端脚本代码。 第二章静态文件编码规范: 静态文件脚本部分采用JavaScript编写。输出部分采用HTML标记语言。 1. HTML标记语言编码规范 1.1 标记的换行规范: * 一个标记必须占用一行。不得出现两个标记在同一行的情况(同一标记的关闭标记除外),如: text 而必须写成: text 1.2 标记的关闭规范 * 静态文件内容必须包含在标记中间 * 标记必须包含在标记中间 * 对于需要关闭的标记,如: <body><table><tr><td><textarea><select><font><option><div><span> 必须同其关闭标记同时出现。如 <body>……<font>….</font>…. …..</body> * 不得出现交叉包含的语句,如: <font>….. </font> 1.3 标记的属性赋值规范 对于接受属性的标记,属性值必须使用双引号或者单引号包围。如: <body bgcolor=”red”> <font size=’7’></p><h2>ecshop模板制作入门教程</h2><p>ecshop模板制作入门教程 本教程适用于了解 ecshop 和 ecshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee …意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师) 通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:) 下列章节的适用于ecshop程序。同时这里许多内容和一些 Smarty相关。假如您已经熟悉这些内容可跳过不阅读。假如您是ecshop新手并且想diy一下自己的店铺,那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) ecshop模板堂,电商系统及服务提供领导品牌!专注于ecshop模板开发、微信商城、商城APP等电商解决方案,助力千万企业早日实现电子商务! 希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧! ecshop模板堂是国内电商系统及服务提供领导品牌,市场占有率占行业份额70%以上,用户口碑、服务评价、产品质量均属业内领先地位。 产品链贯穿PC端(大商创B2B2C商城系统)、微信端(ECTouch微商城)、APP端(ECjia 商城APP),为传统行业插上互联网的翅膀。 第一章节: 读取这些内容,您将了解:</p><p>每个前台页面所对应的模板页面,模板文件的目录结构。 一些最基本的ecshop模板修改方法。 模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。 一些常用模板例子讲解. 模板存放路径: ecshop/themes/xxxxx 其中的 xxxxx 就是某一套模板,如系统一般会自带的模板文件名叫做 default, (即:ecshop/themes/default )里面放的就是安装好时的默认模板,以下所有的说明都是针对默认模板来讲解. 操作前提,将您当前使用的模板调整为default模板,然后清空缓存。 接下来我们进入default目录,可以看到以下文件目录: images/ (存放模板中用到的图片) library/ ( 存放一些小模板文件及重复被用到的模板文件 ) style.css (模板样式文件) index.dwt (首页的模板 index.php) goods.dwt ( 商品显示页的模板 goods.php) *.dwt (表示其它.dwt文件) 虾米?难道你不相信这些就是模板吗?好,那我证明给你看看. 我们把把images里面的logo.gif文件的名字,改为logo2.gif,然后我们随便找一张gif图片,起名为logo.gif放到images目录中,然后我们刷新首页。看到没?首页logo被修改了。 如果你觉得大小不合适,那么我们打开library目录中的 page_header.lib 查看源代码,然后搜索 images/logo.gif 然后看它后面 width=”130″ height=”56″把130和56改为相应的值就可以了,到前台刷新看看。 好接下来我们用dreamweaver打开index.dwt文件,在源代码中搜索{$page_title} ,找到后,将{$page_title} 修改为超级无敌的大卖场. 然后到到浏览器前台刷新,看看页面有什么变化。虾米?没有发现吗?看看浏览器头</p><h2>.NET代码规范学习</h2><p>.NET 代码规范学习 下边我谈谈.NET代码规范的学习: 一、注释规范 1,自建代码文件注释: 对于自己创建的代码文件(如函数、脚本),在文件开头,一般编写如下注释: /************************************************ * 作者: 小组: 说明: 创建日期: 版本号: **********************************************/ 2,标准注释:</p><p>在模块、类、属性、方法前一行添加注释,以便调用的时候提示用户下以方法声明做例子: ///<summary> ///depiction:<对该方法的说明> ///</summary> ///<paramname="<参数名称>"><参数说明></param> ///<returns> ///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义> ///</returns> 如果模块只进行部分少量代码的修改时,则每次修改须添加以下注释:///修改人: ///修改日期:< YYYY-MM-DD > ///备份: /* 原代码内容*/</p><p>将原代码内容注释掉,然后添加新代码使用以下注释: ///添加人: ///添加日期:<YYYY-MM-DD> 代码内容 ///结束: 对于重构的类文件,需要对原来的类文件做备份,然后放在同级目录下,在原有文件名后面添加后缀"_BAK",以便日后版本升级时整理源码。 3.代码中的注释: 代码间注释分为单行注释和多行注释: 单行注释: //<单行注释> 多行注释: /*多行注释1 多行注释2 多行注释3*/</p><h2>ECSHOP数据库结构参数表</h2><p>ECSHOP 数据库结构参数表 序言 本次信息整理只为了从事ECSHOP 二次开发人员方便之举,因此研究ECSHOP 官方数据结构,如若与官方产生冲突,敬请谅解!此版本属于V2.1.15 此信息属于网上一位朋友注释! 表结构分析 ecs_account_log // 用户账目日志表 ecs_activity // 活动表(代码,名称,开始,结束,描述) ecs_ad // 广告表(位置,类型,名称,链接,图片,开始,结束,广告主相关信息,点击,是否显示) ecs_admin_action // 管理权限分配(父类ID,权限代码) ecs_admin_log // 管理日志(登陆时间,登陆管理员ID,操作描述,IP) ecs_admin_message // 管理员留言(发送者ID,接收者ID,发送日期,阅读日期,是否已读,是否删除,标题,内容) ecs_admin_user // 管理员管理(用户名,email ,密码,加入时间,最后登陆时间,最后登陆IP,权限等) ecs_adsense // 广告相关统计(来源广告,来源位置,点击) ecs_ad_position // 广告位(名称,宽,高,描述,样式) ecs_area_region // 配送区域关联(配送区域ID,具体地址ID)ecs_article // 文章(分类ID,标题,内容,作者,作者email ,</p><p>关键字,类型,是否显示,添加时间,文件地址,打开类型) ecs_article_cat // 文章分类(名称,类型,关键字,描述,排序,是否导航显示) ecs_attribute // 商品属性(分类,名称,选择样式,类型,值,检索类型,排序,是否关联) ecs_bonus_type // 红包(名称,金额,发放起始日期,发放结束日期,使用起始日期,使用结束日期,发放类型,金额下限(按订单发放),金额上限) ecs_booking_goods // 缺货登记(登记用户ID,email ,电话,商品ID,描述,数量,登记时间,是否已处理,处理管理员,处理时间,处理备注) ecs_brand // 品牌(名称,logo,描述,链接,排序,是否显示)ecs_card // 祝福贺卡(名称,图片,费用,免费额度,描述) ecs_cart // 购物车(用户ID,session_id ,商品ID,商品编号,商品名称,市场价,购买价,数量,属性,是否真实商品,扩展代码,父类ID,类型,是否赠品,能否处理) ecs_category // 商品分类(名称,关键字,描述,父类ID,排序,是否有子类,模板文件,数量单位,是否导航显示) ecs_collect_goods // 收藏(用户ID,商品ID,收藏时间) ecs_comment // 评论(类型,类型ID,email ,用户名,内容,评星,添加时间,IP,状态,父类ID) ecs_feedback // 用户留言(父类ID,用户ID,用户名,email,标</p><h2>编码规范</h2><p>编码规范 (V.01仅供内部使用) 一、布局结构规范 每个源程序文件的头部必须包含文件头部说明(文件名称、软件版权、功能说明、系统版本、开发人员、开发时间)和修改记录说明(修改日期、修改人员、修改说明)。 每个函数头部必须包含函数头部说明(使用https://www.360docs.net/doc/375446476.html,会自动生成XML格式注释框架。)。 二、书写排版规范 2.1、空行 每个函数定义结束之后都要加一个或若干个空行。 在一个函数体内,变量定义与函数语句之间要加空行。 逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。 2.2、对齐 程序的分界符‘{’和‘}’永远都单独成行并且位于同一列,同时与引用它们的语句左对齐。 2.3、缩行 用缩行显示程序结构,使排版整齐,缩进量统一使用TAB,而不能用空格补齐。 同层次的代码在同层次的缩进层上。 三、语言规范 3.1、常量 全用大写字母命名,用下划线分割单词。 3.2、变量 声明变量的同时对变量进行初始化,严禁使用未经初始化的变量。 3.3、表达式 如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级。 不要有多用途的复合表达式(例如:d = (a = b + c) + r;该表达式既求a 值又求d 值。应该拆分为两个独立的语句:a = b + c;d = a + r;)。 尽量避免含有否定运算的条件表达式(如: if (!(num >= 10))应改为: if</p><p>(num < 10))。 3.4、语句 if 语句本身自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。 3.5、属性 原则上,字段(Field)是不能公开的,要访问字段的值,一般使用属性。属性以简洁清晰的名词命名。 3.6、函数 不要将正常值和错误标志混在一起返回。正常值用输出参数获得,而错误用异常捕获。 在函数体的“入口处”,对参数和通过其它途径进入函数体内的变量(如文件句柄等)的有效性进行检查。 函数的功能要单一,不要设计多用途的函数。 避免函数有太多的参数,参数个数尽量控制在5 个以内。如果参数太多,在使用时容易将参数类型或顺序搞错。 3.7、注释 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要及时删除。 对于全局数据(全局变量、常量定义等)必须要加注释。 当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。 四、命名规范 4.1、命名空间 命名空间构成方法:公司名.产品名[.组件名] 命名空间以.分割的每个节都建立一个文件夹,使命名空间和文件夹保持一致; 4.2、文件 采用小写字母命名文件,避免取一些比较通俗的文件名,如:main.cs 文件名称应尽量和文件中的类名相同。如:frLogin.cs文件中是frmLogin 类的定义。</p><h2>软件项目https://www.360docs.net/doc/375446476.html,编码规范-模板</h2><p>.NET编码规范 .NET编码规范 版本:V1.0</p><p>.NET编码规范 目录 1介绍 (1) 1.1目的 (1) 1.2范围 (1) 1.3参考文档 (1) 2规范概述 (1) 3规范详述 (1) 3.1文件组织 (1) 3.1.1源文件 (1) 3.1.2目录安排 (2) 3.2缩进 (2) 3.2.1分行 (2) 3.2.2空白 (2) 3.3注释 (3) 3.3.1块注释 (3) 3.3.2单行注释 (3) 3.3.3文档注释 (3) 3.4变量声明 (4) 3.4.1每行声明的数量 (4) 3.4.2初始化 (4) 3.5类和接口的声明 (4) 3.6命名约定 (5) 3.6.1大写风格 (5) 3.6.2命名规则 (6) 3.6.3class,struct和namespace命名规则 (6) 3.6.4interface命名规则 (6) 3.6.5enum命名规则 (6) 3.6.6域命名规则 (7) 3.6.7参数命名规则 (7) 3.6.8变量命名规则 (7)</p><p>.NET编码规范 3.6.9方法命名规则 (7) 3.6.10属性命名规则 (7) 3.6.11事件命名规则 (8) 3.7代码细节规范 (8)</p><p>1 介绍 1.1 目的 本文件的目的是描述用.NET编写代码过程中应遵循的规范,以确保编写出强壮可靠、符合规范的应用程序。虽然这里的代码示例是用C#编写的,但如果使用另外一种编程语言,其中的大多数规则和原理也是适用的。对于.net开发人员,应力求遵守此文档中的规范,代码审查时,此文档将作为重要的参考依据。 1.2 范围 本文件适用于用.NET来实现的软件产品在编码实现过程中应遵循的规范。 1.3 参考文档 [说明本文件的参考文档。] 2 规范概述 本规范为实现过程中用.NET来进行编码时应遵循的规范,主要内容包括:文件组织、缩进、注释、变量声明、类和接口的声明、命名约定及代码细节规范。 在实现过程中的编码实现,代码走查活动中使用到此规范。 3 规范详述 3.1 文件组织 3.1.1 源文件 把每个类都放在单独的文件中,文件名字和类名一致(用.CS作为扩展名)。严禁将多个命名空间/类放在同一个源文件中(https://www.360docs.net/doc/375446476.html,自动生成的除外)。</p><h2>ECShop模板中如何实现局部刷新</h2><p>ECShop模板中如何实现局部刷新 建立一个ajax.js文件,代码如下: // JavaScript Document var xmlHttp; function S_xmlhttprequest() { xmlHttp=null; if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc. xmlHttp=new XMLHttpRequest(); } else if (window.ActiveXObject) {// code for IE6, IE5 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } function getName(name) { if(name = https://www.360docs.net/doc/375446476.html,.value) { S_xmlhttprequest(); xmlHttp.open("get","date.php?name="+name,true); xmlHttp.onreadystatechange = byname; xmlHttp.send(null); } }</p><p>function byname() { if(xmlHttp.readyState ==1) { document.getElementById('name').innerHTML = "<font color=red>loading....</font>"; } if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { var name = xmlHttp.responseText; document.getElementById('name').innerHTML = name; } } } function getEmail(email) { var email = document.myform.email.value; if(email =="") { alert("用户名不能为空"); document.myform.email.focus(); return false; } else { S_xmlhttprequest(); xmlHttp.open("get","date.php?email="+email,true); xmlHttp.onreadystatechange = byemail; xmlHttp.send(null); }</p><h2>Net复习资料</h2><p>.Net复习资料 一、填空题 (1) ASPX网页的代码储存模式有两种,它们是___和代码分离模式。 答案:单一模式 (2) 当一个Web控件上发生的事件需要立即得到响时,应该将他的属性设置为true。答案: AutoPostBack (3) 请将nn数据()在TextBox控件中显示出来。 Double nn = 4512.6; TextBox1.Text = 答案: nn.ToString() (4)当需要将TextBox控件作为密码输入框时(要求隐藏密码的代码),应该将控件的TextMode属性设置为. 答案:Password (5) 下面是一个转移到新网页“default.aspx”的指令:Response. 答案:Redirect (“default.aspx”) (6) 在设计阶段必须将各个验证控件的属性指向被验证的控件。 答案:ControlToValidate (7) 下面是设置和取出Session对象的代码。 设置Session的代码是: Session[“greeting”]=“hello wang !”; 取出该Session对象的语句如下:string Myvar= ; 答案:Session[“greeting”].ToString() (8) 下面是使用Application对象时防止竞争的代码。 Application. ; //锁定Application对象 Application[“counter”]=(int) Application[“counter”]+1; Application. ; //解除对Application对象的锁定 答案:lock(),unlock() (10) 打开文件系统网站时将自动打开一个服务器,这是一个轻量级服务器,可以用来对程序进行检查和调试工作。 答案:开发 (11) 所谓分布式类就是在多个文件中使用相同的____,相同的____,而且每个类的定义前面都加上____修饰符,编译时编译器就会自动的将这些文件编辑成一个完整的类。 答案:命名空间,类名,partial (13) NET与XML紧密结合的最大好处是。 答案:跨平台传送数据 (14) 面向对象的语言具有________性、_________性、________性 答案:封装、继承、多态。</p><h2>ECshop模板结构说明</h2><p>ESCHOP模板结构详解 ECSHOP模板文件结构说明,一套完整ecshop模板文件说明手册 最新ECSHOP 2.7.3完整的一套ecshop模板有一下构造 ? 35个 .dwt文件(模板框架文件。可调用lbi库文件的主体文件) ? 57个 .lbi文件(模板库文件,可通过后台库项目管理直接修改的文件) ? 1个style.css文件(里面包含了模板的样式代码和模板版权信息。) ? 1个screenshot.png文件(用于后台管理显示安装模板。) ecshop模板存放目录名称(themes) 不可更改名称: ECSHOP模板名称:自定义英文名称不能中文名称文件夹名称 images 目录存放模板图片目录不可更改library 目录存放模板库文件目录不可更改 screenshot.png 图片用于“后台管理->模板管 理->模板选择”显示模板 缩略图。不可更改 style.css css样式表不可更改一、模板文件 activity.dwt 活动列表页 article_cat.dwt 文章列表页 article_pro.dwt 系统文章页(如:“用户协议“。) article.dwt 文章内容页 auction_list.dwt 拍卖商品列表页 auction.dwt 拍卖商品详情页 brand.dwt 品牌商品列表页 brand_list.dwt 所有品牌页 catalog.dwt 所有分类、品牌页 category.dwt 商品列表页 compare.dwt 商品比较页 exchange_goods.dwt 积分商城详细页 exchange_list.dwt 积分商城列表页</p><h2>NET开发规范</h2><p>.NET开发规范 编写: 审核: 批准:</p><p>目录 1.概述 (4) 2.命名规范 (4) 2.1.类、参数和方法的命名规范 (4) 2.2.接口命名规范 (4) 2.3.动态语言文件命名规则 (5) 2.3.1.格式:性质_描述 (5) 2.4.客户端JavaScript规范 (5) 2.4.1.变量命名规范 (5) 2.4.2.对象命名规范 (5) 2.5.控件命名规范 (6) 2.6.图片的命名原则 (6) 2.7.数据库命名规范 (7) 2.7.1.命名规范原则 (7) 2.7.2.数据库规范 (7) 2.7.3.表命名规范 (7) 2.7.4.字段规范 (8) 2.7.5.视图规范 (8) 2.7.6.存储过程规范 (8) 2.7.7.函数规范 (8) 2.7.8.索引命名规范 (8) 2.7.9.关联命名 (8)</p><p>2.7.10.设计规范 (8) 3.编码规范 (8) 3.1.C#代码编写 (8) 3.2.Request、Session、Application使用规范 (12) 3.3.HTML标记语言编码规范 (12) 3.4.注释规范 (12) 3.5.异常规范 (15)</p><p>1.概述 为了保持应用程序、组件、文件的一致性,便于阅读和管理代码和结构,提高开发效率和产品的标准化,特制订一套开发规范和标准(包括命名规范和编码规范)。 命名规范将包括:类和参数的命名规范、接口命名规范、数据库命名规范、ASP命名规范、JavaScript命名规范、控件命名规范等。 编码规范将包括:C#编码规范、注释规范、HTML编码规范、https://www.360docs.net/doc/375446476.html,编码规范、异常规范等。 2.命名规范 2.1.类、参数和方法的命名规范 2.1.1.用名词或名词短语命名类。 2.1.2.使用Pascal大写注记:Pascal大小写形式-所有单词第一个字母大写,其他字母小写。2.1. 3.不要使用匈牙利命名法 2.1.4.用有意义的,描述性的词语来命名变量 -别用缩写。用name,address,salary等代替nam,addr,sal。 -别使用单个字母的变量象i,n,x等。使用index,temp等。用于循环迭代的变量例外 2.1.5.文件名要和类名匹配 2.1.6.自定义属性类时,以Attribute作为后缀 2.1.7.自定义异常类时,以Exception作为后缀 2.1.8.数据表的实体类以Entity作为后缀 2.1.9.命名空间引用时,将系统自带的命名空间名放置一起,接着放置自定义的命名空间,最后放 置第三方的命名空间 2.1.10.所有成员变量应定义在类的前面,并和属性、方法空开一行且只能空开一行。 2.1.11.当使用Partial类型且每一部分分配一个文件时,主文件以类名命名,后续加入的文件以类 名加字母“Ex”加十进制数字序号(如果只有一个扩展类,不需要加数字,超过1个扩展文件,从2开始)命名。 2.1.12.避免在一个文件中放置多个类。 2.1.1 3.避免超过5个参数的方法。使用结构传递多个参数。 2.1.14.局部变量和方法参数采用camel风格。 2.2.接口命名规范 使用名词或名词短语,或者描述行为的形容词来命名接口。例如,IComponent(描述性名词),ICustomAttributeProvider(名词短语),和IPersistable(形容词)。使用Pascal大写。 减少接口名中缩写的使用量。不要使用带下划线的字符。在接口名前加前缀I,以表示这个类型是一个接口。不要在类名前加上前缀C。偶而情况下,需要在类名前加上I而并不表示它是一个接口。在这种情况下,只要I后面的字符是小写就可(例如,IdentityStore。)当类是接口的标准执行时,定义这一对类/接口组合就要使用相似的名称。两个名称的不同之处只是接口名前有一个I前缀。</p><h2>编码规范</h2><p>编码规范整理初稿 1命名规范 1.1顶层文件命名规范 级别: 规定 说明: 采用芯片型号名+top的命名方式 示例:xxxx_top.v 1.2子系统顶层命名规范 级别: 规定 说明: 采用子系统缩写+top的命名方式 示例:xxxx_top.v 1.3存储器模块命名规范 级别: 规定 说明: RAM存储器模块的文件命名采用下面的形式: 时钟类型_Ram类型_深度x位宽[w_深度x位宽r][_reg].v 时钟类型:读写时钟同步用com,异步用diff Ram类型:对于双口ram为dpram,对于单端口ram为ram,对于单端口rom为rom,对于 FIFO为fifo,对于移位寄存器为shift; _深度x位宽:用于描述写端口的位宽以及该位宽对应的深度; [w_深度x位宽r]:可选字段,用于描述读端口的位宽以及该位宽度对应的深度,若 存储器读写端口位宽一致,或存储器只读,该字段可省略; [_reg]:可选字段,采用寄存器输出的使用需要以_reg为结尾进行标示,输出不采用寄存器输出的则不使用. 示例:</p><p>1.4模块命名规范其他约束 级别: 规定 说明: 一个设计文件只包含一个模块,为了方便阅读查找,文件名应与里面的模块(module)名相同 示例: 1.5文件名应由字母、数字及下划线组成,首字符应为字母级别: 规定 说明: 命名只能由26个英文字母(a-z,A-Z)、数字(0-9)或者下划线( _ )组成。不允许使用破折号和连续的下划线。第一个字符只能使用字母,不能使用下划线。 示例: 1.6信号名使用有意义的名字,不宜超过32个字符 级别: 规定 说明: 文件名和信号名应尽量做到望文生义,言简意赅,同时不宜超过32个字符。 示例: 1.7用下划线分开多个单词 级别: 规定 说明: 由多个字符串组成的文件名或者信号名,每个字之间要用下划线分开 说明:可读性 示例:</p></div> <div class="rtopicdocs"> <div class="coltitle">相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="1629556"><a href="/topic/1629556/" target="_blank">net编码规范</a></li> <li id="21330830"><a href="/topic/21330830/" target="_blank">ecshop模板结构说明</a></li> </ul> </div> </div> </div> </div> <div id="rightcol" class="viewcol"> <div class="coltitle">相关文档</div> <ul class="lista"> <li><a href="/doc/ea959537.html" target="_blank">编码规范方案</a></li> <li><a href="/doc/0617137901.html" target="_blank">项目开发及编码规范</a></li> <li><a href="/doc/268570869.html" target="_blank">Net复习资料</a></li> <li><a href="/doc/6017219046.html" target="_blank">net编程规范</a></li> <li><a href="/doc/c51462178.html" target="_blank">C#标准编码规范</a></li> <li><a href="/doc/f95953899.html" target="_blank">编程规范和范例</a></li> <li><a href="/doc/1912535180.html" target="_blank">.NET代码规范学习</a></li> <li><a href="/doc/2e14036438.html" target="_blank">C#编码规范(范本)</a></li> <li><a href="/doc/9a6869847.html" target="_blank">.net编码规范</a></li> <li><a href="/doc/d84309861.html" target="_blank">编码规范(华为)</a></li> <li><a href="/doc/074456992.html" target="_blank">C#编码规范(完整资料).doc</a></li> <li><a href="/doc/2d4098356.html" target="_blank">编码命名规范(.NET)(很全 很实用)</a></li> <li><a href="/doc/584745769.html" target="_blank">.net命名规范</a></li> <li><a href="/doc/ba13057292.html" target="_blank">编码规范</a></li> <li><a href="/doc/e218712041.html" target="_blank">ASPNET编码规范</a></li> <li><a href="/doc/136106776.html" target="_blank">asp.netc#开发规范</a></li> <li><a href="/doc/2b12924189.html" target="_blank">编码规范</a></li> <li><a href="/doc/993165771.html" target="_blank">ASP.NET编码规范</a></li> <li><a href="/doc/de799159.html" target="_blank">编码规范</a></li> <li><a href="/doc/062034895.html" target="_blank">编码规范大全</a></li> </ul> <div class="coltitle">最新文档</div> <ul class="lista"> <li><a href="/doc/0f19509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0119509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9b19184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3019258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/d819211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/a419240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9d19184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8a19195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8519195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7f19336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7119336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6619035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6719035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4a19232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3b19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2619396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2b19396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1419338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/ed19066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/bd19159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "34837478e87101f69f319543"; </script> <div class="clearfloat"></div> <div id="footer"> <div class="ft_info"> <a href="https://beian.miit.gov.cn">闽ICP备16038512号-3</a> <a href="/tousu.html" target="_blank">侵权投诉</a>  ©2013-2023 360文档中心,www.360docs.net | <a target="_blank" href="/sitemap.html">站点地图</a><br /> 本站资源均为网友上传分享,本站仅负责收集和整理,有任何问题请在对应网页下方投诉通道反馈 </div> <script type="text/javascript">foot()</script> </div> </body> </html>