JRESPLUS開發(fā)-開發(fā)規(guī)范_第1頁
JRESPLUS開發(fā)-開發(fā)規(guī)范_第2頁
JRESPLUS開發(fā)-開發(fā)規(guī)范_第3頁
JRESPLUS開發(fā)-開發(fā)規(guī)范_第4頁
JRESPLUS開發(fā)-開發(fā)規(guī)范_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

JRESPLUS開發(fā)

--開發(fā)規(guī)范目錄結構-工程projectsrcmainjavaresourcestestjavaresourcestargetpom.xmlmaven工程:projectsrcresourcesbuildclasses普通工程:projectsrcmainjavaresourceswebapptestjavaresourcestargetpom.xmlprojectsrcresourceswebappclasses推薦使用maven工程進行代碼管理目錄結構-包(package)comhundsun系統(tǒng)/產品/平臺(可以有子級)模塊(可以有子級)分層javapackage:com.hundsun.jresplus.web.nosessioncom.hundsun.jresplus.remoting.servercom.hundsun.jresplus.remoting.clientcom.hundsun.jresplus.web.urlcom.hundsun.crm.user.actioncom.hundsun.crm.user.servicecom.hundsun.crm.user.dao組織公司平臺模塊子模塊組織公司系統(tǒng)模塊分層平臺/框架系統(tǒng)/產品目錄結構-配置文件resourcesi18nmessages_en_US.propertiesmessages_zh_CN.properties。。。資源文件:resourcesspringcrm-user-beans.xmlcrm-account-beans.xml…非web工程中spring配置文件:WEB-INFconfspringcrm-datasource-beans.xmlcrm-service-beans.xml…pertiespertiespertiesvm-toolbox.xmlweb.xmlweb工程中的配置文件:spring配置文件命名:“產品-功能模塊-beans.xml”系統(tǒng)參數(shù)配置文件日志配置文件數(shù)據庫連接配置文件其他由于使用第三方包,由第三方包約定的配置文件準從約定的目錄進行配置目錄結構-web靜態(tài)資源webappcomponentscomponents.csscomponents.jscomponentfolder1imgcomponentfolder2imgcssuserstyle.cssmodulesubmodulexx.cssimagesmodulesubmodulescriptsmodulesubmodulexx.jspluginsjqueryjquery.min.jsotherlib目錄結構-web視圖文件WEB-INFviewscomponentscomponents.vmlayoutdefault.vmmoduledefault.vmsubmoduledefault.vmxx.vmscreenindex.vmlogin.vmmodulesubmodulexx.vmcommon500.vm404.vmxx.vm命名接口:使用大寫字母‘I’開頭,符合駝峰規(guī)則類:首字母大寫,符合駝峰規(guī)則駝峰規(guī)則(單詞首字母大寫后面的字母小寫)如:UserAccount實現(xiàn)類:首字母大寫,符合駝峰規(guī)則,以‘Impl’結束抽象類:以‘Abstract’開始,符合駝峰規(guī)則邏輯分層相關:(控制層)action:以Action結束,如“UserAction”;(服務層)service:以Service結束,如“IUserService”,“UserServiceImpl”;(邏輯層)logic:以Logic結束,如“IUserLogic”,“IUserLogicImpl”;(持久層)dao:以DAO結束,如“IUserDAO”,“UserDAOImpl”命名常量:使用全大寫英文字符、下劃線組成,首字符請使用字母,單詞與單詞之間使用下劃線“_”分隔,聲明時使用“static””final”修飾;如:變量:使用英文字符組成,符合駝峰規(guī)則,首字母小寫,使用具有語義的方式命名(單詞或通用的縮寫)如:函數(shù):使用英文字符組成,符合駝峰規(guī)則,首字母小寫,使用具有語義的方式命名(函數(shù)的命名要與函數(shù)的行為一致)privatestaticfinalStringSESSION_KEY=“key_”;publicstaticfinalintSESSION_COUNT=10;StringuserName;注釋-java源文件/**系統(tǒng)名稱:*模塊名稱:*文件名稱:${file_name}*軟件版權:恒生電子股份有限公司*修改記錄:*修改日期

修改人員

修改說明<br>*===========================================================**===========================================================*/每一次文件的變更,都需要在修改記錄中維護注釋-實現(xiàn)注釋/*判斷年齡限制*/單行注釋/**該函數(shù)用于做什么*/塊注釋if(a==2){returnTRUE; /*specialcase*/}else{returnisPrime(a); /*worksonlyforodda*/}尾端注釋//被注釋的代碼末行注釋好的代碼不需要注釋好的代碼從注釋開始注釋-文檔注釋/***功能說明:*<p>

系統(tǒng)版本:v1.0<br>*開發(fā)人員:${user}${user}@<br>*開發(fā)時間:${date}<br>*功能描述:寫明作用,調用方式,使用場景,以及特殊情況<br>*/類與接口的文檔注釋:/***/字段的文檔注釋:/***methodcommentshere*${tags}*/函數(shù)的文檔注釋:聲明每一行聲明變量的數(shù)量一行只聲明一個變量,因為這樣更加容易添加注釋,不容易在讀代碼的時候忽視一些變量變量的初始值盡量在聲明變量的同時進行初始化;聲明變量的位置只在代碼塊的開始處聲明變量(一個塊指任何一個使用大括號中間的代碼)類和接口的聲明編寫類和接口時,應該遵守以下格式規(guī)則:

在方法名和其參數(shù)列表之前的左括號“(”不要有空格;

左大括號“{”位于聲明語句同行的末尾;

右大括號“}”另起一行,除非是空語句;

方法與方法之間以空行分隔classSampleextendsObject{intvar;

Sample(intvar){this.var=var;}

intemptyMethod(){}...}語句一行最多包含一條語句;復合語句的大括號“{}”,不能和語句在相同行;條件判斷語句必須使用大括號“{}”包含住執(zhí)行語句,哪怕只有一行;循環(huán)語句必須使用大括號“{}”包含住執(zhí)行語句;switch語句,當沒有使用break進行結束(意味著繼續(xù)向下執(zhí)行)時,需要在原本用來寫break語句的地方添加注釋;成員變量與函數(shù)聲明語句之間使用空行分隔;函數(shù)與函數(shù)之間使用空行分隔;函數(shù)內行數(shù)過長時,不同階段的代碼之間使用空行分隔;使用4個空格進行縮進;{

intvar=0;…..}慣例與準則1,避免通過實例訪問其靜態(tài)變量和函數(shù),應該使用類來引用;2,避免在一個語句中給多個變量賦值,

如:a=b=1;3,不要使用內嵌賦值語句,

如:d=(a=b+c)+e;4,條件判斷時,盡量使用圓括號“()”,

如:if((a==b)&&(c==d))5,三目運算前的表達式應該使用圓括號,

如:(x>=0)?x:-x;6,避免重復代碼,當在兩處或者更多的地方發(fā)現(xiàn)相似的代碼時,應該考慮將重復代碼抽取為函數(shù);7,函數(shù)應該盡量短??;8,函數(shù)和變量的命名使用有意義的命名,提高可讀性;9,為每一個類和函數(shù)分配正確的職責(單一職責),且與命名一致;10,盡早的進行代碼重構;11,盡量少的注釋和不注釋,如果發(fā)現(xiàn)一段代碼必須用注釋才能閱讀時,說明該代碼需要進行重構了;12,注釋要與實現(xiàn)一致,如果一段代碼使用注釋說明行為,那么注釋需要與行為一致;善用eclipse的refactor(重構)菜單jresplus開發(fā)-邏輯分層服務層表現(xiàn)層(web)業(yè)務邏輯層數(shù)據訪問層JavaScriptVelocityHTMLCSSSpringMVCMyBatisSpringSpringSpring上層依賴下層面向接口不跨層日志異常POJOJresplusMVC逐層向下構建由交互開始服務契約數(shù)據契約表現(xiàn)層(其他客戶端)表現(xiàn)層:通過web方式的人機交互界面,提供業(yè)務內容展示、操作的入口;服務層:用來組織業(yè)務邏輯,向表現(xiàn)層提供業(yè)務服務,降低表現(xiàn)層對業(yè)務處理邏輯層的耦合,提高業(yè)務處理邏輯的復用度;業(yè)務邏輯層:負責承載業(yè)務的邏輯處理;數(shù)據訪問層:負責數(shù)據的持久化、訪問操作;基礎運行與開發(fā)環(huán)境集成BO

服務層表現(xiàn)層(web)業(yè)務邏輯層數(shù)據訪問層HTML\CSS\JSVelocitySpringMVCHibernate\JPADozerSpringSpring上層依賴下層面向接口不跨層日志異常POJOJresplusMVC逐層向下構建由交互開始服務契約數(shù)據契約表現(xiàn)層(其他客戶端)DHTMLXJQueryJresplus-UIJresplus-remotingSpringjresplus開發(fā)-表現(xiàn)層-視圖開發(fā)表現(xiàn)層使用velocity模板語言開發(fā)layoutscreenCOCviewWEB-INFviewslayoutscreen視圖文件有布局文件和內容文件組成布局文件和內容文件通過COC的原則組成最終的視圖WEB-INFviewslayoutdefault.vmscreenmodulemoduledefault.vmsameName.vmsameName.vm1,首先匹配同名目錄下的同名布局文件2,其次匹配同名目錄下的default布局文件4,最后匹配布局根目錄下的default布局文件SubModuleSubModuledefault.vm3,再次匹配上級目錄下的default布局文件《jresplus視圖開發(fā)》jresplus開發(fā)-表現(xiàn)層-控制器控制器使用springmvc提供的注解方式開發(fā),如:《jresplus-mvc開發(fā)》@Controller@RequestMapping("/user")public

classUserAction{@AutowiredIUserManagerServiceuserService;@RequestMapping("/accountList")public

void

accountList(UserAccountQueryquery,Modelmodel){List<UserAccount>list=userService.queryAccountListPage(query);model.addAttribute("accountList",list);}@RequestMapping(value="/account",method=RequestMethod.GET)public

voidgetAccount(UserAccountaccount,Modelmodel){userService.queryUser(account);UserAccountaccount=userService.getAccount(query);model.addAttribute("account",account);}@RequestMapping(value="/account",method=RequestMethod.POST)public

StringaddAccount(UserAccountaccount,Modelmodel){userService.addAccount(account);return

"redirect:/user/accountList.htm";}}jresplus開發(fā)-服務開發(fā)《jresplus-remoting開發(fā)》HSESBWEB端ViewControllerJresplus-remotingclient服務契約T2服務端Jresplus-remotingserver服務契約logicDAOT2OtherServerOtherClient客戶端、接入端、服務端都通過T2協(xié)議接入到HSESB總線上Jresplus-remoting提供client(客戶端)和server(服務端)的支持,結合

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論