-
Notifications
You must be signed in to change notification settings - Fork 128
4.参与bugatti开发
mysoko edited this page Mar 26, 2015
·
4 revisions
Bugatti后端使用Scala开发,依赖于Typesafe体系技术;前段使用单页面JS库AngularJS。 因当时开发选择各库较早,以至于现在使用新库有少许兼容性问题,但不影响使用。
Bugatti使用play开发,目录结构安装play的标准结构。
├── app → 应用程序源码
│ ├── actor → akka代码
│ ├── controllers → 前段业务控制代码
│ ├── enums → 枚举类
│ ├── exceptions → 异常类
│ ├── models → 数据库对应model
│ ├── service → Bugatti只有一个service用于动态写properties文件
│ ├── utils → 一些常见工具
│ ├── views → Bugatti用angular开发,所以只有一个主页
│ └── Global.scala → 容器启停初始化和释放资源
├── conf → 系统配置文件目录
│ ├── application-akka.conf → akka配置
│ ├── application-common.conf → 公共配置
│ ├── application-prod.conf → 生成环境配置文件
│ ├── application.conf → 默认开发环境配置文件,和application-prod.conf只选其一,可覆盖
│ ├── logger-prod.xml → 日志logback生成环境配置
│ ├── logger.xml → 日志logback开发环境配置
│ ├── routes → 请求路由配置
│ └── upgrade → sql脚本目录
├── logs → 日志输出目录
│ └── application.log → 默认系统日志输出文件,可根据logback配置
├── project → sbt配置文件
│ ├── build.properties → 项目使用sbt版本设置
│ └── plugins.sbt → sbt插件
├── public → 静态文件
│ ├── css → 样式
│ ├── img → 图片
│ ├── js → js
│ └── partials → 所有angular页面模板
├── test → 测试
│ ├── actor → actor单元测试
│ ├── models → model单元测试
│ └── resources → 资源配置测试
├── .gitignore → git忽略配置
├── build.sbt → 应用程序编译脚本,配置依赖等
├── README.md → 文档说明
└── update.sh → 升级脚本
Bugatti使用很多技术点
- scala
- playframework
- sbt
- slick
- akka
- logback
- git
- logback
- ldap
- angularjs
- bootstrap
- webjars
方法命名规则
一、内部调用方法: _update 使用下划线前缀
二、多参数方法: 1、方法签名支持的,保持原始名称 2、findByProjectId_EnvId 使用下划线分割参数
三、定义 避免var变量 命名使用全称,比如pid改为projectId
建议model方法摆放顺序: 查询 < 增加 < 删除 < 修改
model层(和controller不同)方法前缀: 查询方法:find 条件,all列表,统计count 增加方法:create 删除方法:delete 修改方法:update
编码: create增加方法返回值: 增加返回自动增长id 批量增加返回影响行数
slick统计方法: 1.Query(xx.length).first 改为 xx.length.run 2.where is 改为 filter === 并且作为首个条件
不清楚方法加注释: /*
- 说明方法使用情况 */