Skip to content

4.参与bugatti开发

mysoko edited this page Mar 26, 2015 · 4 revisions

认识Bugatti

Bugatti后端使用Scala开发,依赖于Typesafe体系技术;前段使用单页面JS库AngularJS。 因当时开发选择各库较早,以至于现在使用新库有少许兼容性问题,但不影响使用。

Bugatti结构

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 === 并且作为首个条件

不清楚方法加注释: /*

  • 说明方法使用情况 */
Clone this wiki locally