dyq1

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、团队成员
丁玉庆 1500802089
李晓晨 1500802116
马荣贞 1500802105
申琼娇 1500802118
马雯莉 1500802087
逯 香 1500802088
二、编码规范
PHP编码规范
. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" 。这是为了防止多余的空格或者其它字符影响到代码。
例如:

_testObj; } public function setTestObj($testObj) { $this->testObj = $_testObj; } } 9. 当类成员方法被声明为 private 时,必须分别以双下划线 "__"为开头;被声明为 protected 时,必须分别以单下划线 "_" 为开头;一般情况下的方法不含下划线。例如 : class Foo { private function __example() { // ... } protected function _example() { // ... } public function example() { // ... } } 10. 如果我们需要把一些经常使用的方法定义为全局函数,那么应该把它们以静态 (static) 的形式定义在类中。例如: class Think { // ... static public function autoload($classname) { // ... } } 11. 被声明为 private的类成员属性必须由双下划线 "__" 作为开头;被声明为 protected 的类成员属性必须由下划线 "_" 作为开头;而声明为 public 的成员属性则在任何时候都不允许含有下划线。 12. 函数的命名使用小写字母和下划线的方式,且越详细越好,应该能够描述清楚该函数的功能,例如 get_client_ip 。 13. 当方法或函数参数不一定需要被赋值的时候,用 "null" 来代替 "false" 作为函数参数的默认值,除非该参数是 boolean 值。 14. 变量只允许由小写字母和下划线组成,且建议用描述性的变量的命名,越详细越好,以至于像 $i 或 $n 等等都是不鼓励使用的。 15. 类中的常量 constant 和全局范围内常量define,只能由大写字母和下划线组成,各个单词之间以下划线分割。 16. boolean 值和 null 值都采用小写。 HTML编码规范 1.1 缩进与换行 [强制] 使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符。 示例:
  • first
  • second
[建议] 每行不得超过 120 个字符。 解释: 过长的代码不容易阅读与维护。但是考虑到 HTML 的特殊性,不做硬性要求,sublime、phpstorm、wenstorm等都有标尺功能。 1.2 命名 [强制] class 必须单词全字母小写,单词间以 - 分隔。 [强制] class 必须代表相应模块或部件的内容或功能,不得以样式信息进行命名。 示例:
[强制] 元素 id 必须保证页面唯一。 解释: 同一个页面中,不同的元素包含相同的 id,不符合 id 的属性含义。并且使用 document.getElementById 时可能导致难以追查的问题。 [建议] id 建议单词全字母小写,单词间以 - 分隔。同项目必须保持风格一致。 [建议] id、class 命名,在避免冲突并描述清楚的前提下尽可能短。 示例:

[强制] 同一页面,应避免使用相同的 name 与 id。 解释: IE 浏览器会混淆元素的 id 和 name 属性, document.getElementById 可能获得不期望的元素。所以在对元素的 id 与 name 属性的命名需要非常小心。 一个比较好的实践是,为 id 和 name 使用不同的命名法。 示例:
1.3 标签 [强制] 标签名必须使用小写字母。 示例:

Hello StyleGuide!

Hello StyleGuide!

[强制] 对于无需自闭合的标签,不允许自闭合。 解释: 常见无需自闭合标签有input、br、img、hr等。 示例: [强制] 对 HTML5 中规定允许省略的闭合标签,不允许省略闭合标签。 示例:
  • first
  • second
  • first
  • second
[强制] 标签使用必须符合标签嵌套规则。 解释: 比如 div 不得置于 p 中,tbody 必须置于 table 中。 示例:

[建议] HTML 标签的使用应该遵循标签的语义。 解释: 下面是常见标签语义 p - 段落 h1,h2,h3,h4,h5,h6 - 层级标题 strong,em - 强调 ins - 插入 del - 删除 abbr - 缩写 code - 代码标识 cite - 引述来源作品的标题 q - 引用 blockquote - 一段或长篇引用 ul - 无序列表 ol - 有序列表 dl,dt,dd - 定义列表 示例:

Esprima serves as an important building block for some JavaScript language tools.

Esprima serves as an important building block for some JavaScript language tools.
[建议] 在 CSS 可以实现相同需求的情况下不得使用表格进行布局。 解释: 在兼容性允许的情况下应尽量保持语义正确性。对网格对齐和拉伸性有严格要求的场景允许例外,如多列复杂表单。 [建议] 标签的使用应尽量简洁,减少不必要的标签。 示例: 2.数据库命名原则 数据库命名要遵从以下命名原则: 表意性原则:数据库命名本着表意性原则,即命名应尽量反映存储/action/view/column的数据内容。 长名原则:很少使用或者不使用缩写,适用于DB命名之外的任一对象 数目最少化原则:数据库对象应该尽量满足数据最小化原则,也就是数据库数目,存储过程,视图等数量最小化。 2.1 数据库版本控制 当由于多个版本的应用系统同时存在或者是其它特殊原因而使用完成相似的功能的对象存在同时存在时,使用版本控制:版本号在对象名的后面加上[_v1] 如:     Up_IM_DailyUsageStatsUpdate_v2 Up_IM_CustomerGetUsingLastName_v2 2.2 Server/命名实例的命名 基于Domain命名, DOMAIN 的粒度,可分为三级 ,分别是Server级别,Database级别和表的前缀级别。此为第一级别。 1. ONLINE PRODUCTION SERVER NEWSQL NEWSQL2 EHISSQL WAREHOUSE PRODUCTION SERVER S3SQL01 S4SQL01 S7SQL01 S6SQL01 2.3 数据库命名 数据库命名应当遵从上面所提及到的协定,包括没有特殊的字符,使用文字数据字式字符……..,项目代码命名不应该同样被数据库使用.数据库名字应该唯一以避免冲突等.以Domain来标识, 拆分DATABASE,基于大的逻辑范畴,如operation 范畴以及部门类别,另外:其它与部门相关的DATABASE 可以放到相关的SERVER 下。  数据库数目最少化原则  数据设置尽可能MERGER原则  peration database AND Dept level Database set up rules  拆分DATABASE,基于大的逻辑范畴,如operation 范畴以及部门类别  其它与部门相关的DATABASE 可以放到相关的SERVER 下。  下面为与OPEARATION 相关的DATABASE示例: 如: 下面为与OPEARATION 相关的DATABASE: ItemProfile Inventory Codecenter CustomerProfile SalesOrder Accounting Sevice(RAM) eCommerce SupplerChainManagement DropShip SerialNumber WorkFlow ShippingCarrier WarehouseManagment HumanResource  其它与部门相关的DATABASE 可以放到相关的SERVER 下。 MKT Pm Mis CUSTOMER SVR ADMIN ACCOUNTING 2. INTERNAL DEPT DATABASE SERVER 2.4 数据库对象—表,视图,列名,约束,规则,默认值 数据库对象应该被清晰的命名,要确认不存在歧义。数据库对象的名字应该包括自己尽可能多的信息,并要详细的说明与之相对应的项目文档.选择合适的命名空间是一个很让人困惑的问题(比如我们不能从一个存储过程的命名上看到是哪个项目在使用这个对象),命名名字唯一的在数据库级别标识自己,无论在哪儿使用它,请确保在一个项目中命名方法的一致.在一个小的上下文看来很清晰的对象在一个大的上下文中可能就会丢失他的含义.节省击键次数永远不能用来作选择名字的标准. 下面供述了数据库对象的命名协定,所有的数据库对象命名都应该遵循下面协定.  如果不是长度限制,缩写应该被避免.当使用缩写时应该遵从下面的缩写规范的规则.缩写应该在项目范围内保持一致并被存档.  不要使用特殊的字符;对文字数字式字符加以限制.  在命名时为了更好的标识表与应用程序之间的关系,我们要使用“[function name]|[main module name]_表名”的形式. 比如: Newegg_customer Blocked_customer Abs_customer EDI_.... MDF_....  当要修改一个对象的架构时,首先要确认与之存在依存关系的对象不受影响.要查看与之存在依存关系的对象,可以在企业管理器中”右键相应对象”->”ALL TASKS”->”DISPLAY DEPENDENCIES”来查看或者使用系统存储过程SP_DEPENDS来查看: EXEC SP_DEPENDS 'dbo.GetCategories’  当底层表结构更改时,视图都应该被重新创建.这个应该特别被注意,特别是视图是使用如”SELECT * FROM table”时.  强烈建议任何时候都不要使用类似于”SELECT * FROM”的语句.  当在不存在事务上下文中或者是完整性要求不是很高时,在SELECT语句中使用WITH NOLOCK. 2.5 缩写规范 由于长度的限制而需要使用缩写时,应当遵从以下的规则:  以分类单词作为名字的起始.  缩写的第一个字符应该与单词的第一个字母相同,比如,SFER就不是Transfer的有效缩写.  Identify and abbreviate the root word, usually the shortest form of the word.  缩写时省略元音字符,除非特殊原因,重复字符中将被省略一个。  缩写不应该暗示到其它的单词(比如:单词“parent”可能被缩写为”PRNT”,但是“PRNT”很容易让人想起单词“PRINT”,一个比较好的缩写就是使用”PSRNT”)  相似单词的缩写应该一致,比如如果Charge缩写为CHRG,则change应该被缩写为CHNG.  当组合词或者短语被广泛使用时,并且大多人都能识别出这些缩写时,应该使用他们的首字母缩写,因为大多人都能识别出这些缩写。 三、数据库 ![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170613181859040-892251437.png) ![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170613181918056-2065561861.png) ![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170613181936634-1909241903.png) 四、ER图 ![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160230559-1339564100.png) 五、功能流程图 ![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160444918-1431055358.png) ![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160550309-1198319728.png) ![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160745872-1131438844.png) ![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160827497-1062498486.png) 六、项目分工 丁玉庆----设计数据库 李晓晨----构建系统整体框架及数据库 马荣贞----流程图制作 申琼娇----功能模块划分 马雯莉----编码规范 逯 香----ER图 七、组员成绩 丁玉庆 10分 李晓晨 10分 马荣贞 10分 申琼娇 10分 马雯莉 10分 逯 香 10分
posted on 2017-05-31 12:51  草帽队  阅读(296)  评论(1编辑  收藏  举报