开发规约

<div id="navigation" class="content-navigation view">
                <ul class="ajs-menu-bar">
                            <li class="ajs-button normal">

    

<a id="editPageLink" href="/pages/editpage.action?pageId=7178079" class="edit" accesskey="e" title="编辑 ( 类型 'e' )">
               <span><u>E</u>编辑</span></a>        </li>
                
        <li class="normal ajs-menu-item">
    <a id="add-menu-link" class="add trigger ajs-menu-title" href="#"><span><span>添加</span></span></a>         <div class="ajs-drop-down assistive" hidden="">
                    <ul id="add-menu-link-space" class="section-space first">
                                    <li>

    

<a id="createPageLink" href="/pages/createpage.action?spaceKey=JRGCBMS&amp;fromPageId=7178079" class="add-page" accesskey="p" title="添加页面 ( 类型 'c' )">
               <span>页面</span></a>        </li>
                                    <li>

    

<a id="createBlogpostLink" href="/pages/createblogpost.action?spaceKey=JRGCBMS" class="add-news" title="Add a Blog Post ( 类型 'b' )">
               <span>博文</span></a>        </li>
                        </ul>
                    <ul id="add-menu-link-page" class="section-page">
                                    <li>

    

<a id="add-comment-menu-link" href="/pages/viewpage.action?pageId=7178079&amp;showComments=true&amp;showCommentArea=true#addcomment" class="add-comment" title="添加评论 ( 类型 'm' )">
               <span>评论</span></a>        </li>
                                    <li>

    

<a id="add-attachment-link" href="/pages/viewpageattachments.action?pageId=7178079" class="add-attachment" accesskey="a" title="">
               <span>附件</span></a>        </li>
                        </ul>
                </div>
</li>
                
        <li class="normal ajs-menu-item">
    <a id="action-menu-link" class="action trigger ajs-menu-title" href="#"><span><span>工具</span></span></a>         <div class="ajs-drop-down most-right-menu-item assistive" hidden="">
                    <ul id="action-menu-link-primary" class="section-primary first">
                                    <li>

    

<a id="view-attachments-link" href="/pages/viewpageattachments.action?pageId=7178079" class="action-view-attachments" accesskey="a" title="查看附件 ( 类型 't' )">
               <span><u>A</u>附件(1)</span></a>        </li>
                                    <li>

    

<a id="action-view-history-link" href="/pages/viewpreviousversions.action?pageId=7178079" class="action-view-history" title="">
               <span>页面历史</span></a>        </li>
                                    <li>

    

<a id="action-page-permissions-link" href="/pages/viewinfo.action?pageId=7178079" class="action-page-permissions" title="编辑限制">
               <span>限制</span></a>        </li>
                        </ul>
                    <ul id="action-menu-link-marker" class="section-marker">
                                    <li>

    

<a id="page-favourite" href="/labels/addfavourite.action?entityId=7178079&amp;atl_token=907897322170878b55ff05e8b84b6063424d6a37" class="action-page-favourite" title="">
               <span>收藏夹</span></a>        </li>
                                    <li>

    

<a id="page-watch" href="/pages/addpagenotification.action?pageId=7178079&amp;atl_token=907897322170878b55ff05e8b84b6063424d6a37" class="action-page-watching" title="">
               <span>关注</span></a>        </li>
                                    <li class="assistive">

    

<a id="page-unwatch" href="/pages/removepagenotification.action?pageId=7178079&amp;atl_token=907897322170878b55ff05e8b84b6063424d6a37" class="action-page-watching selected ie-page-watching-selected inactive" title="">
               <span>停止关注</span></a>        </li>
                        </ul>
                    <ul id="action-menu-link-secondary" class="section-secondary">
                                    <li>

    

<a id="view-page-info-link" href="/pages/viewinfo.action?pageId=7178079" class="action-view-info" title="">
               <span>信息</span></a>        </li>
                                    <li>

    

<a id="link-to-page-link" href="/pages/viewinfo.action?pageId=7178079" class="" title="链接至本页面 ( 类型 'k' )">
               <span>链接至该页…</span></a>        </li>
                                    <li>

    

<a id="view-in-hierarchy-link" href="/pages/listpages-dirview.action?key=JRGCBMS&amp;openId=7178079#selectedPageInHierarchy" class="" title="">
               <span>以层级方式查看</span></a>        </li>
                                    <li>

    

<a id="action-view-source-link" href="/plugins/viewsource/viewpagesrc.action?pageId=7178079" class="action-view-source popup-link" title="">
               <span>View Source</span></a>        </li>
                                    <li>

    

<a id="action-export-pdf-link" href="/spaces/flyingpdf/pdfpageexport.action?pageId=7178079" class="" title="">
               <span>导出为PDF</span></a>        </li>
                                    <li>

    

<a id="action-export-word-link" href="/exportword?pageId=7178079" class="action-export-word" title="">
               <span>导出为Word</span></a>        </li>
                                    <li>

    

<a id="import-word-doc" href="/pages/worddav/uploadimport.action?pageId=7178079" class="" title="">
               <span>Doc文件导入</span></a>        </li>
                        </ul>
                    <ul id="action-menu-link-modify" class="section-modify">
                                    <li>

    

<a id="action-copy-page-link" href="/pages/copypage.action?idOfPageToCopy=7178079&amp;spaceKey=JRGCBMS" class="action-copy" title="">
               <span>复制</span></a>        </li>
                                    <li>

    

<a id="action-move-page-dialog-link" href="/pages/viewpage.action?pageId=7178079" class="action-move" title="">
               <span>移动</span></a>        </li>
                        </ul>
                </div>
</li>
        </ul>
</div>

    
    <h1 id="title-heading" class="pagetitle">
        	            <a href="/display/JRGCBMS"><img class="logo global" src="/images/logo/confluence_48_trans.png" alt=""></a>	        	
		<span id="title-text">
						            <a href="/pages/viewpage.action?pageId=7178079">开发规约</a>
						</span>
    </h1>
</div>
    <fieldset class="hidden parameters">
        <input type="hidden" title="parentPageId" value="7176620">
    </fieldset>

    
                        


                

    
    <a href="#page-metadata-end" class="assistive">转至元数据结尾</a>
<div class="page-metadata">
    <ul>
                        <li class="page-metadata-item noprint">

        

<a id="content-metadata-page-restrictions" href="#" class="page-metadata-icon page-restrictions hidden" title="此页面应用了权限限制,点击小锁图标查看或编辑限制。">
               <span>应用页面限制</span></a>        </li>
                        <li class="page-metadata-item noprint">

    

<a id="content-metadata-attachments" href="/pages/viewpageattachments.action?pageId=7178079&amp;metadataLink=true" class="page-metadata-icon action-view-attachments" accesskey="a" title="附件:1">
               <span><span class="page-metadata-attachments-text">附件:</span><span class="page-metadata-attachments-count">1</span></span></a>        </li>
                    <li class="page-metadata-modification-info">
                                被<a href="/display/~jiangye" class="url fn confluence-userlink userlink-0" data-username="jiangye" title="" data-user-hover-bound="true">姜叶</a>添加,被<a href="/display/~yangwentao" class="url fn confluence-userlink userlink-1" data-username="yangwentao" title="" data-user-hover-bound="true">杨文涛</a>最后更新于十月 12, 2016
                                                            <span class="noprint">&nbsp;(<a id="view-change-link" href="/pages/diffpages.action?pageId=7178079&amp;originalId=7734574">查看更改</a>)</span>
                                            </li>
                </ul>
            </div>

转至元数据起始

    <fieldset class="hidden parameters">
                    <input type="hidden" title="browsePageTreeMode" value="view">
    </fieldset>

    <div class="wiki-content">
                       <h3 id="id-开发规约-目录">目录</h3><ul><li><h4 id="id-开发规约-数据库开发规约"><span class="confluence-link"><a href="#id-开发规约-数据库开发规约">数据库开发规约</a></span></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表规约"><a href="#id-开发规约-表规约">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </a><a href="#id-开发规约-表规约">表规约</a></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;存储过程规约"><a href="#id-开发规约-表规约">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </a><a href="#id-开发规约-存储过程规约">存储过程规约</a></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表设计注意事项"><a href="#id-开发规约-表规约">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </a><a href="#id-开发规约-表设计注意事项">表设计注意事项</a></h4></li><li><h4 id="id-开发规约-JAVA代码规约"><a href="#id-开发规约-JAVA代码规约">JAVA代码规约</a></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Domain层开发规约"><a href="#id-开发规约-表规约">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </a><a href="#id-开发规约-Domain层开发规约">Domain层开发规约</a></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;服务层开发规约"><a href="#id-开发规约-表规约">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </a><a href="#id-开发规约-服务层开发规约">服务层开发规约</a></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;展示层开发规约"><a href="#id-开发规约-表规约">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </a><a href="#id-开发规约-展示层开发规约">展示层开发规约</a></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;后台管理开发规约"><span class="confluence-link"><a href="#id-开发规约-表规约">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </a><a href="#id-开发规约-后台管理开发规约">后台管理开发规约</a></span></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Junit开发规约"><a href="#id-开发规约-Junit">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Junit开发规约</a></h4></li><li><h4 id="id-开发规约-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其它开发规约"><a href="#id-开发规约-其它开发规约">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其它开发规约</a></h4></li><li><h4 id="id-开发规约-附录一(附录)"><a href="#id-开发规约-fulu1">附录一(附录)</a></h4></li><li><h4 id="id-开发规约-附录二(附件)"><a href="#id-开发规约-fulu2">附录二(附件)</a></h4></li></ul><h3 id="id-开发规约-数据库开发规约数据库开发规约"><strong>数据库开发规约</strong><span class="confluence-anchor-link" id="id-开发规约-数据库开发规约"></span></h3><h4 id="id-开发规约-表规约表规约">表规约<span class="confluence-anchor-link" id="id-开发规约-表规约"></span></h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th class="confluenceTh">编号</th><th class="confluenceTh">规约项</th><th class="confluenceTh">描述</th><th class="confluenceTh">备注</th></tr><tr><td class="confluenceTd">1</td><td class="confluenceTd">表名</td><td class="confluenceTd"><p>系统名缩写+"_"+表功能缩写</p><p>例如:</p><p>统一登录系统中”系统表":BMS_SYS</p></td><td class="confluenceTd">&nbsp;</td></tr><tr><td class="confluenceTd">2</td><td class="confluenceTd">字段名</td><td class="confluenceTd"><p>两个单词缩写用下划线相连</p><p>例如:</p><p>统一登录系统的”系统表"中“系统名称”字段:SYS_NAME</p></td><td class="confluenceTd">&nbsp;</td></tr><tr><td colspan="1" class="confluenceTd">3</td><td colspan="1" class="confluenceTd">表主键命名</td><td colspan="1" class="confluenceTd"><p>PK+"_“+表名英文</p><p>例如</p><p>统一登录系统的”系统表"主键:PK_BMS_SYS</p></td><td colspan="1" class="confluenceTd">&nbsp;</td></tr><tr><td colspan="1" class="confluenceTd">4</td><td colspan="1" class="confluenceTd">表索引</td><td colspan="1" class="confluenceTd"><p>表名+”_"+INDEX</p><p>如果有多组索引,可以在以上名称后面加"_"+数字,进行区分。</p><p>例如:工分系统中工分流水表中索引:CS_ACCOUNT_RUN_INDEX</p></td><td colspan="1" class="confluenceTd">&nbsp;</td></tr></tbody></table></div><p>&nbsp;</p><h4 id="id-开发规约-存储过程规约存储过程规约">存储过程规约<span class="confluence-anchor-link" id="id-开发规约-存储过程规约"></span></h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th class="confluenceTh">编号</th><th class="confluenceTh">规约项</th><th class="confluenceTh">描述</th><th class="confluenceTh">备注</th></tr><tr><td class="confluenceTd">1</td><td class="confluenceTd">存储过程名</td><td class="confluenceTd"><p>PROCEDURE+"_"+功能缩写</p></td><td class="confluenceTd">&nbsp;</td></tr><tr><td class="confluenceTd">2</td><td class="confluenceTd">变量名</td><td class="confluenceTd">V+"_"+功能缩写</td><td class="confluenceTd">&nbsp;</td></tr><tr><td colspan="1" class="confluenceTd">3</td><td colspan="1" class="confluenceTd">游标名</td><td colspan="1" class="confluenceTd">CURSOR+"_"+功能缩写</td><td colspan="1" class="confluenceTd">&nbsp;</td></tr></tbody></table></div><h4 id="id-开发规约-表设计注意事项表设计注意事项">表设计注意事项<span class="confluence-anchor-link" id="id-开发规约-表设计注意事项"></span></h4><p>(1)表主键统一为:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th class="confluenceTh">编号</th><th class="confluenceTh">字段名</th><th class="confluenceTh">code</th><th class="confluenceTh">data type</th></tr><tr><td class="confluenceTd">1</td><td class="confluenceTd">UUID</td><td class="confluenceTd"><p>UUID</p></td><td class="confluenceTd">&nbsp;VARCHAR2(36)</td></tr></tbody></table></div><p>(2)表固定字段(必须添加):</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th class="confluenceTh">编号</th><th class="confluenceTh">字段名</th><th class="confluenceTh">code</th><th class="confluenceTh">data type</th></tr><tr><td class="confluenceTd">1</td><td class="confluenceTd">创建者</td><td class="confluenceTd"><p>CREATOR</p></td><td class="confluenceTd">&nbsp;VARCHAR2(36)</td></tr><tr><td colspan="1" class="confluenceTd">2</td><td colspan="1" class="confluenceTd">更新者</td><td colspan="1" class="confluenceTd">UPDATOR</td><td colspan="1" class="confluenceTd">VARCHAR2(36)</td></tr><tr><td colspan="1" class="confluenceTd">3</td><td colspan="1" class="confluenceTd">创建时间</td><td colspan="1" class="confluenceTd">CREATE_TIME</td><td colspan="1" class="confluenceTd">DATE</td></tr><tr><td colspan="1" class="confluenceTd">4</td><td colspan="1" class="confluenceTd">修改时间</td><td colspan="1" class="confluenceTd">UPDATE_TIME</td><td colspan="1" class="confluenceTd">DATE</td></tr><tr><td colspan="1" class="confluenceTd">5</td><td colspan="1" class="confluenceTd">备注</td><td colspan="1" class="confluenceTd">REMARK</td><td colspan="1" class="confluenceTd">VARCHAR2(200)</td></tr></tbody></table></div><p><span style="color: rgb(255,0,0);"><strong>注:日志类型表,只加 “<strong>创建时间” </strong>即可。</strong></span></p><h3 id="id-开发规约-JAVA代码规约JAVA代码规约">JAVA代码规约<span class="confluence-anchor-link" id="id-开发规约-JAVA代码规约"></span></h3><h4 id="id-开发规约-Domain层开发规约Domain层开发规约">Domain层开发规约<span class="confluence-anchor-link" id="id-开发规约-Domain层开发规约"></span></h4><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Domain 层的方法要具有业务完整性。具有最小的业务单元。</p><ol><li style="list-style-type: none;"><ol><li style="list-style-type: none;"><ol><li style="list-style-type: none;"><ol><li><p>命名</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th class="confluenceTh">序号</th><th class="confluenceTh">规约</th><th class="confluenceTh">描述</th><th colspan="1" class="confluenceTh">备注</th></tr><tr><td class="confluenceTd">1</td><td class="confluenceTd">类名</td><td class="confluenceTd">模块名+Domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td colspan="1" class="confluenceTd">&nbsp;</td></tr><tr><td class="confluenceTd">2</td><td class="confluenceTd">方法名</td><td class="confluenceTd">1)检查业务方法 :check+功能名称<br>2)增加:save+功能名称<br>3)修改:update+功能名称<br>4)删除:remove+功能名称<br>5)查询:query+功能名称<br>6)预览:view+功能名称</td><td colspan="1" class="confluenceTd">1)检查业务方法返回相应的业务编码<br>2)增加、修改、删除、查询返回的是<br>&nbsp;&nbsp;&nbsp;&nbsp; 业务对象。</td></tr></tbody></table></div></li><li>对于domain层的分页方法,采用PageResult对象进行数据返回。DAO层采用PageList进行分页返回。<br><br></li><li>domain层的参数验证,采用的util类的形式行进验证。<br><br></li><li>domain的返回成功和返回失败采用编码的形式返回。编码见附件。</li></ol></li></ol></li></ol></li></ol><h4 id="id-开发规约-服务层开发规约服务层开发规约">服务层开发规约<span class="confluence-anchor-link" id="id-开发规约-服务层开发规约"></span></h4><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 服务层作为业务层的入口,只对大的业务分支进行判断。</p><ol><li style="list-style-type: none;"><ol><li style="list-style-type: none;"><ol><li style="list-style-type: none;"><ol><li><p>命名规约</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th class="confluenceTh">序号</th><th class="confluenceTh">规约</th><th class="confluenceTh">描述</th><th colspan="1" class="confluenceTh">备注</th></tr><tr><td class="confluenceTd">1</td><td class="confluenceTd">类名</td><td class="confluenceTd">模块名+Service&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td colspan="1" class="confluenceTd">&nbsp;</td></tr><tr><td class="confluenceTd">2</td><td class="confluenceTd">方法名</td><td class="confluenceTd">1)查询:search+功能名称<br>2)执行:execute+功能名称<br>2)回调:callBack+功能名称</td><td colspan="1" class="confluenceTd">所有的功能名称的单词组合小于等于三个。</td></tr></tbody></table></div></li><li>验证util类使用规约<br><br>统一采用<span>BasicVerify、FieldVerify对参数进行验证。</span><br><span><br></span></li><li><p><span>日志规约:在服务层采用切面日志,即在方法投进行日志的描述。</span><br><span>&nbsp;</span></p><div class="code panel" style="border- 1px;"><div class="codeContent panelContent">
@DigestLogAnnotated(digestIdentificationCode = KEYS.LOG_KEYS.SERVICE_LOG_SEARCH_CREDIT_FLOWS_KEYS,
        logFileName = "DEFAULT.DIG",
        loggerLevel = LoggerLevel.INFO,
        printType = LoggerPrintType.IGNORE_OUTPUT

其中digestIdentificationCode为日志的编码,编码为4位数字,其定义的类的路径为:com.ucf.jrgc.*.model.keys.KEYS;类详情为:
 

public class KEYS {
 
    /**
     * log keys
     */
    public class LOG_KEYS {
 
        /**
           * 子站超过阀值发送短信业务
        */
        public static final String SERVICE_LOG_SMS_CREDIT_LIMITBALANCES_KEYS = "1200";
    }
}
  • 自编程事物的使用规约

    编号规约项描述备注
    1检查代码区用来检查入参的合法性,需要统一调用BasicVerify、FieldVerify进行验证。 
    2执行方法区用来调用Domain方法。 
    3返回对象区需要返回‘功能名+Result’对象。 


     具体大代码结构如下:

    public CreditResult<UserCreditInfo> 方法名(final int userId) {
            
            CallbackResult callbackResult = this.serviceTemplate.execute(
                    new ServiceCallback() {
                        @Override
                        public CallbackResult executeCheck() {
     
                            //TODO 检验代码
                            return CallbackResult.success();
                        }
     
                        @Override
                        public CallbackResult executeAction() {
     
                            try{
                                //TODO 调用Domain层方法
                                return CallbackResult.success(CreditResultStatusEnum.SUCCESS.getCode(), ..);
                            }catch (Exception e){
                                //错误日志信息
                                LogUtil.error(e,
                                        logger,
                                        "[ action:searchUserCredit,params:{0}]",
                                        userId);
                                return CallbackResult.failure(CreditResultStatusEnum.FAILURE.getCode(), e);
                            }
                        }
                    },null
            );
     
            //返回对象
            return new CreditResult<UserCreditInfo>(
                    callbackResult.isSuccess() ? CreditResultStatusEnum.SUCCESS: CreditResultStatusEnum.valueOf(callbackResult.getResultCode()),
                    callbackResult.getThrowable() != null ? callbackResult.getThrowable().getMessage() : null,
                    (UserCreditInfo) callbackResult.getBusinessObject());
        }
  • 展示层开发规约

     编号规约项描述备注
    1页面状态下拉框后台管理系统页面                                         详细参数见后台代码手顺
    2页面类型下拉框后台管理系统页面                                                   详细参数见后台代码手顺
    3页面检索div后台管理系统页面 详细参数见后台代码手顺
    4页面数据table展示后台管理系统页面 详细参数见后台代码手顺
    5新增弹出框新增弹出框 详细参数见后台代码手顺
    6修改弹出框修改弹出框 详细参数见后台代码手顺
    7删除弹出框删除弹出框 详细参数见后台代码手顺

    后台管理开发规约

    1. 命名规约

       编号规约项描述备注
      1控制层命名规范

      1)跳转页面 :list

      2)加载页面数据:dataList

      3)保存:save

      4)修改:update

      5)删除:delete

       
      2服务层命名规范

      1)新增:add+功能名称

      2)修改:update+功能名称

      3)查询:query+功能名称

       
      3持久层命名规范

      1)新增:add+功能名称

      2)修改:update+功能名称

      3)删除:delete+功能名称

      4)查询:query+功能名称

      5)分页查询:PageList

       
    2. 工具类规约

      编号规约项描述备注
      1读取状态类型的控制器

      1)需要调用 com.ucf.jrgc.*.console.controllers.UtilsController

      2)这个控制器用来读取com.ucf.jrgc.*.model.enums.StatusEnum$

            或者com.ucf.jrgc.*.model.enums.TypeEnum$的值。

       
    3. 关键业务点日志规约

      编号规约项描述备注
      1对象创建

      使用如下创建logger 对象

      private final CommonLogger logger = CommonLoggerFactory.getLogger(this.getClass());

       
      2日志级别

      INFO 、DEBUG、ERROR。提示性日志采用INFO 、错误日志采用ERROR

       
      3日志格式

      1)日志串格式:“【功能模块名称】” +“功能模块”+“【方法名称】” +“方法名称” +“【入参】” +“参数”

      2)参数格式:“参数名称:参数;参数名称:参数”

    4. 操作日志规约

           

    编号规约项描述备注
    1日志格式{操作模块: "" ,操作类型:"",操作人:"",操作时间: "" ,操作内容:"",操作结果:"",备注:""}; 
    2日志级别

    INFO 、DEBUG、ERROR。提示性日志采用INFO 、错误日志采用ERROR

     
    3说明

    1)操作模块:操作的模块及功能

    2)操作类型:I(插入)、S(查询)、U(修改)、D(删除)

    3) 操作人:操作人

    4)操作时间:操作时间

    5)操作内容:操作内容的jason

    6)  操作结果:成功,失败。

    6)备注:备注

     
    4例子{操作模块:系统管理-用户管理-删除用户,操作类型:D,操作人:admin,操作时间:2018-09-22 08:09:33,操作内容:{"userId":"0001"},操作结果:"成功",备注:""} 

             Junit开发规约

    1. Jnuit命名规范

      编号规约项描述备注
      1junit测试类名规范Test+“测试类名” 
      2junit方法名规范test+"被测试类名方法名" + “测试功能项名称” 
    2. Junit代码规范
      Junit测试类中的方法,每个最小功能定义一个方法。
      例如:

      @Test
      public void testCreditServiceIncreaseCreditSuccess(){
              EventMessage eventMessage = new EventMessage();
              CommonEventInfo commonEventInfo = new CommonEventInfo();
              CreditBizInfo creditBizInfo = new CreditBizInfo();
              commonEventInfo.setDomainType("GCZZ");
              commonEventInfo.setClientType(ClientTypeEnum.WEB);
              creditBizInfo.setBizType("LXQDJL");
              creditBizInfo.setActionType(CreditActionTypeEnum.SIGN_INCREASE);
              creditBizInfo.setUserId(543);
              creditBizInfo.setCredits(new BigDecimal(-100));
              creditBizInfo.setBizAmount(new BigDecimal(-1000));
              creditBizInfo.setSign("0");
              creditBizInfo.setBizTraceId("123456");
              eventMessage.setCommonInfo(commonEventInfo);
              eventMessage.setBizInfo(creditBizInfo);
              CreditResult<CreditFlow> creditFlowList = creditService.increaseCredit(eventMessage,"0");
              Assert.assertEquals(CreditResultStatusEnum.SUCCESS.getCode(), creditFlowList.getBusinessResult().getCode());
          }



      其它开发规约

      编号规约项描述备注
      1代码查询时的约定查询时,传入时间需要进行时间格式化,然后再传入mybatis的mpper。进行数据库查询。 

    附录一(附录)

    编码

    序号编码编码含义备注
    110001成功 
    210002失败 

    附录二(附件)

    公共信息数据设计.PDM

        </div>
    
        <!--
    

    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
    <rdf:Description
    rdf:about="http://10.10.100.22:8090/pages/viewpage.action?pageId=7178079"
    dc:identifier="http://10.10.100.22:8090/pages/viewpage.action?pageId=7178079"
    dc:title="开发规约"
    trackback:ping="http://10.10.100.22:8090/rpc/trackback/7178079"/>
    </rdf:RDF>
    -->

        <script type="text/x-template" title="labels-dialog-div">
    
    
    <div id="labels-dialog">
        <div class="labels-editor">
            <span class="errorMessage error" id="errorSpan"></span>
            <form method="GET" action="" id="add-labels-form">
                <div id="labelOperationErrorContainer">
                    <span class="error"><span class="errorMessage" id="labelOperationErrorMessage"></span></span>
                </div>
    
                <div id="label-input-fields">
                    <input autocomplete="off" id="labelsString" name="labelsString" value="">
                    <input id="add-labels-editor-button" type="submit" class="add-labels" value="添加">
                </div>
                <div id="labelsAutocompleteList" class="aui-dd-parent resize-to-input" style=" 417px"></div>
                <div id="dialog-label-list">
    
    Please wait 
    标签:
                            <a id="labels-edit" href="#" class="show-labels-editor editor-icon" title="编辑标签 ( 类型 'l' )">
                    <span class="icon icon-edit">编辑标签</span>
                </a>
                    </div>
    </div>
    
                        <div id="comments-actions" class="aui-toolbar noprint">
                <p class="toolbar-group">
                    <span class="toolbar-item"><a href="/pages/viewpage.action?pageId=7178079&amp;showComments=true&amp;showCommentArea=true#addcomment" id="add-comment-rte" accesskey="m" class="toolbar-trigger">添加评论</a></span>
                </p>
            </div>
            </div>
    
    <br class="clear">
    
    原文地址:https://www.cnblogs.com/jobs-lgy/p/6340833.html