《Javashop开发规范.docx》由会员分享,可在线阅读,更多相关《Javashop开发规范.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Javashop开发规范1.命名规范LL包命名规范.小写字母.以 com.enation.javashop 开头1 . 组件以 poent 开头12类名命名规范一、通用规范1 .只能以字母、数字命名2 .不能出现下划线、中横线3 .开头字母必须大写4 .名称如果是词组,采用驼峰命名法如“我的优惠卷列表标签“:MyCouponListTag二、Controller 类以 Controller 结尾,如:UserController三、API Controlle 类业务名称+API+Controller四、标签类以 Tag 结尾,如 BuyerOrderListTag五、业务类1 .接口:以 I
2、开头,以 Manager 结尾,如:lUserManager2 .实现类以 Manager 结尾,如:UserManagerL方法外部注释.应以/*开头.应含有以下注释项:功能详细描述、输入参数(param)、返回值(return)/*创建货品表格即dram specs:规格数组即arorn nornes:规格名称数组* return 创建后的表格上红乂对象/createPros:function(specs,names)292.方法内部注释1 .应以开头.应紧挨要注释代码的上方,并与代码的开头对齐varSelectorfunction(containerf settings)/全局本对象变量
3、var self , this;/初初化父容器this.container-container;逊选择器的gird的如对象this.selector_grid container.find(.goods_sel_tb1)2 .Svn目录规范目录结构1 .两个主目录产品:/product项目:/project2 .每个产品或项目结构规范+trunk/+branches/+dev_1.0+tags/+release_1.03 .说明A.trunk:主开发分支:正在开发中的主分支.branches:一些特殊开发需要的分支,和主分支并行开发用,命名规范为 “dev_开头,连接本分支有意义的单词或拼音,
4、如dev_tongji”C. tags:定版的,命名规则:“release.版本号”.数据库变更规范数据库文件位置约定PDM:B2C:B2B2C:li1. update sql:B2C:svn:/ /product/javamall/trunk/docs/database/VxxToVxx.sqlB2B2C:VxxToVxx.sql注意:A:目前b2b2c的PDM是包含了 b2c的,也就是重复、冗余了 b2c部分。 所以如果你改了核心的表结构,如商品、订单、会员,要将两个pdm都 改一下。B:对于b2c和b2b2c的数据库修改要分开记录。CiUpdate.sql的格式为:V版本号To版本号.s
5、ql变更规范.数据库的结构变更必须同步相应的PDM.数据库的结构变更必须生成相应的脚本并记录在update.sql4 .后台界面规范本规范只规定界面最终效果,代码请参考后台管理界面样式规范(代写书)4.1. 信息输入页(包括添加和修改)确定1 .注意阴影部分.代码及样式,可参考商品输入页、品牌输入页. Input页面的保存或确定等按钮,按钮的外面需添加div class为buttonWrapTab 页基本信息相册 规格 属性 参数 SEO 标签是否上架:是0否 参考商品输入页4.2. 列表页531.列表及简单搜索添加添加搜索io Q用除H收站诵帕人订单号,收货人搜索 高级搜索订单号收货人配送方
6、式卜.弟时间仲秋状态一所有订单状态-所有-发货状6-ffiff-开始接索订,号卜单U期SKUXH订小总蒙小费积分实M金收货人订削状态付款状态发货状态 配送方式支付方式操作第共12页”1到10.共116欧品牌名移品牌网址索作有货hnp:/)前口太子龙索布斯尔 .cnM1PANADhnp:/pvimall 七匹婆口ONLYhttp:/ivamall.co骆鸵hnp:/)avamal .com .cn淑女屋hnp7/jnvama!L承蒙前1美坪途532.高级搜索533.详细页中的列表具体代码请参考品牌列表或订单列表今本信息订单日志 发票订单号:6 .商品价格规范注:价格正确格式是两位小数货号订单育品
7、购买做计价电位笊价消费积分合计201605280010Puella普埃拉2016夏装新款休闲宽松短他因领百格连衣揖139903996.1. freemarker”设字段是数字类型就直接转换为货币示例:$goods.price?string.currency缗设字段是其他类型则先把它转换为数字再转成货币示例:$goods.price?number?string.currency以上两个是带价钱符号的,例:12.12如需不要价钱符号的则用:数值型:$goods.price?string(0.00)字符型:Slgoods.priceVnumberPstringCO.OO)62 javascript含
8、有价钱符号的函数:price_format()参数1:价格数字型必填示例:price_format(12.56);返回值为: 12.56不包含价钱符号的函数number_format()参数1:价格数字型必填变数2:小数长度必填示例:number_format(lL2);返回结果为:11.007.常用字典对照表7.1. 常用值名称值说明返回结果0:失败1:成功适用于:1 .客户端json返回值2 .服务器端方法返回值3 .数据库是否的标识值性别0:女1:男72常用名称名称英文商品goods货品product规格spec订单order会员member积分point购物车cart结算checkou
9、t订单order品牌brand分类cat优惠券coupon支付payment团购groupbuy虚拟virtual发票receipt属性prop参数param标签tag地区region六、组件类以 Component 结尾, 如:ShopEmailComponent七、插件类以 Plugin 结尾,如:SendRegMailPluginL3 ,变量/属性命名规范1 .可由字母和数字、下划线组成2 .首字母必须小写3 .除bean依赖的属性外,必须全部小写14方法命名规范1.4.1.Controller 类命名规范A方法命名1.只能以字母、数字命名2.不能出现下划线、中横线3.开头字母必须小写4
10、.名称如果是词组,采用驼峰命名法add到添加页edit到修改页saveAdd保存添加saveEdit保存修改delete删除list列表listJson列表的jsonB访问路径命名.路径中方法名:基本原则为将驼峰命名改为以中横线连接,将驼峰的大写母 小写,注意不能以下划线连接,如listJson,则访问路径为:list-json1 .API路径规范:/api/应用名路径/业务名/方法名.do2 .后台Controller访问路径:/应用名路径/admin/业务名/方法名.do1.4.2 .业务类命名规范1.只能以字母、数字命名2.不能出现下划线、中横线3.开头字母必须小写4.名称如果是词组,采
11、用驼峰命名法add添加edit修改delete删除list列表get读取详细1.5, CSS命名规范L5.L文件名称规范1 .只能以字母、数字、中横线命名(不能出现下划线)2 .字母全部小写L5.2 .样式命名规范1 .只能以字母、数字、中横线命名(不能出现下划线)2 .字母全部小写更多规则参考:Javashop CSS框架规范(待书写)1.6.Javascript 命名规范161.文件名称规范1 .只能以字母、数字、中横线命名(不能出现下划线)2 .字母全部小写L62变量、对象、函数、实例、类命名规范1 .以小写字母开头,驼峰式命名2 .变量命名不要使用保留字3 .不能出现下划线、中横线4
12、.创建构造函数、类首字母必须大写5 .私有变量命名需要以下划线开头更多规则参考:Javashop JavaScript框架规范(待书写)1.7,HTML命名规范1.7. L文件名称规范1 .只能以字母、数字、中横线命名(不能出现下划线)2 .字母全部小写结构名称规范L HTML中所有标签、类名、属性等等必须使用小写2 .注释规范2.1. 包名注释规范1 .包中必须存在注释文件:package.html ,用于负责2 . package.html 内容规范: 一句话简述。详细描述。产品模块名称和版本公司版权信息 示例:2= 商品相关Api集合v/p56 Api vl.0 Copyright (C
13、) 2015 易族智汇(北京)科技有限公司.6 22类注释1 . 应放在package关键后,class或interface关键字之前2 .应使用/*开头.应包含以下说明项:功能描述,author(作者),(Aversion (版本号), since (此功能开发时的产品版本号),开发时间/* 自营店商品管理 author kingapex Aversion v2.0 since v6.0 2015 年 1。月 12 日下午4:33:35 /ControllerRequestMapping(H/b2b2c/admin/self-store-goods*)public class SelfSto
14、reGoodsController extends GoodsController 23属性注释1 .应以/*开头2 .应紧挨要注释属性的上方,并与代码的开头对齐24方法外部注释1 .应以/*开头2 .应含有以下注释项:功能详细描述、输入参数、输出参数、返回值3 .如果方法会抛出异常,必须通过坨0注释异常信息示例:/*检测某个产品是否是整箱param productid 货品 idreturn isPack 字段值*/public int isPack(int productid);25方法内部注释1 .应以开头2 .应紧挨要注释代码的上方,并与代码的开头对齐ransactionalQprop
15、agation , Propagation.KLQU1KLU)public void add(Goods goods) try (/将R9对象中有属性和值转换成mQPMap goodsMap po2Map(goods);/触发商品添加前事件goodsPluginBundle.onBeforeAdd(goodsMap);/商品状态是否可用 goodsMap.put(disabled, 0);/商品创建事件goodsMap.put(createatime, Datelltil .5etDateZ/商品浏览次数 goodsMap.put(nview_countu t 0);/商品购买数量 goods
16、Map.putCbuy_countH, 0);/商品最后更新时间goodsMap . put(last_modi fy, Datelltil. getDatelineQ;/商品库存2.6. CSS注释规范261.文件注释1 .位置:在文件头部最开始.格式:以“/*”开头,必须有描述,必须有作者和时间:Created by作者on 日期,如:I /*2 *全局按钮样式3 *Created by Andste on 2016/09/01*/5 .bin inputs.btn aoverflo:hidden;float:left;dis btn atext-decoration: none262.模
17、块注释.位置:某一模块样式的最上方.格式:使用:广公式区1234567891011示例:html body select width: 100px; height: 26px; line-height: 26px; border: Ipx solid #ddd; border-radius: 2px; font-size: 12px; cursor: pointer;.6.3 ,样式注释.位置:紧挨样式名字上方1 .格式:以“/*-”开头,以“-*/”结尾示例:71172 /search-nav/73 .search-nav (74 float: right;75 width: lQ0px;7
18、6 height: 30px;HTML注释规范.较重要模块的开始和结束要标记开始和结束 示例: -/div2.7. Javascript 注释规范28L文件注释1 .应使用“/*”开头2 .应包含以下说明项:功能描述,author(作者),version (版本号),since (此功能开发时的产品版本号),开发时间示例:w2 Jfly.whPJ?商品选择器插件3 * version:vl.14 蒯的叫ktnflflPP.K5 date:2016-03-216 since:6.07 8 用法:9 xflf, options -10 selected_data_url :ctx41 /shop/
19、admjn/oorGoods! 1 istGoodsJson.11 )12 $C* *floor_goodslw).goodsSelector(options);13则会在“”.f 1。19。出1)中生成一个霸品选择器1415 16 17 可选参数:18 selected_data_url:指定已经选中的grid的商品数知URL19 *selector_dQtQ_url:选商品Grid的商品数型 jsQO .uL默认为:/shop/flrfnii.O/floods-select I HstGoodsByld. do20 select.btn.text:选择按钮的文字21 *un_select_btn_text:取消选择按钮的文字22 *selec“d_text:已选中的文字23 goodsid_nQEe:向后台post的商品id名字,默认为:24 /2526 (function($)2728$.fn.goodsSelector - functionC options)2.9. Freemarker 注释规范.位置:紧挨要注释代码的上方.格式:#-注释内容禁止使用HTML注释