Skip to content

Instantly share code, notes, and snippets.

@crazybugliu
Created November 5, 2015 17:19
Show Gist options
  • Save crazybugliu/a6d06413ee460c6fa4d1 to your computer and use it in GitHub Desktop.
Save crazybugliu/a6d06413ee460c6fa4d1 to your computer and use it in GitHub Desktop.
Created by Miu https://miu.0x142857.com

开发问题

框架和设计问题

AppManage 不需要和AppCenter那样依赖那么多工程和jar包

各个组件(工程)减少互相依赖, 如:Hibernate的Mapping文件不要都放在com.dist.define工程下,使得一旦引用了define,其他没必要的工程也要引用 建议放在各个模块内部或者是按层划分 com.dist.dap.define、com.dist.smartplan.define、com.dist.project.define

产品引用DAP4 jar

建议:DAP4只对产品层提供jar,如果产品层需要扩展DAP4代码,那么在产品层新起工程来扩展。项目层一样。

Controller层太重

业务逻辑主要应放在Service层,Controller层和WebService层主要负责数据的组织显示等

前后端逻辑要分离得清晰

目前前后的交互有以下几种情况

  1. 直接返回视图 并 设置request的Attribute的值作为数据 通过在JSP页面里面嵌入Java代码处理和渲染视图
  2. 返回Json数据 在JavaScript里渲染视图。脚本有直接嵌入JSP或者独立到js文件中

建议都采用返回Json数据的方式,渲染使用JS来完成

前端框架需要统一

js引用混乱,Jquery就有多个版本 同样的组件可能用到不同的框架里面的,如tree 以及风格样式

构建和协作

Jar包依赖 难管理

同样的Jar,不同的框架中,存在版本冲突 无法清晰看出都引用了哪些框架或库

团队开发 配置更改 不同步

Eclipse的配置信息涉及到使用者本地环境,不适合提交,如引用配置 每次都要手动配置library 和 buildpath、deployment 等 可以通过Workspace-->Linked Resource变量的方式解决

其他

  • 多余的 JSP 和 JavaScript文件清理

测试问题

JUnit 自动化测试,可集成于其他构建工具。当前 可以针对于重要的需要测试的部分写,不用大面积展开。

建议方案

  • 建议采用开源成熟的框架统一前端 如BootStrap、AmazingUI、ZTree,再根据我们的情况定制
  • Gradle自动构建,解决Jar包依赖、自动化配置、测试等问题——需要建立私服仓库 需要考虑会不会搞得太复杂,增加了开发工作量。ECM团队有在用持续集成的工具,可交流一下
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment