Ember代码风格指南 #
一、代码格式化 #
1.1 Prettier配置 #
javascript
// .prettierrc.js
module.exports = {
singleQuote: true,
trailingComma: 'es5',
printWidth: 100,
tabWidth: 2,
};
1.2 ESLint配置 #
javascript
// .eslintrc.js
module.exports = {
extends: [
'eslint:recommended',
'plugin:ember/recommended',
'plugin:prettier/recommended',
],
rules: {
'ember/no-jquery': 'error',
'ember/no-mixins': 'error',
'ember/no-classic-classes': 'error',
},
};
二、组件规范 #
2.1 组件定义 #
javascript
// 好的做法
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
export default class UserCardComponent extends Component {
@tracked isExpanded = false;
@action
toggle() {
this.isExpanded = !this.isExpanded;
}
}
2.2 模板规范 #
handlebars
{{! 好的做法 - Angle Bracket语法}}
<UserCard @user={{@user}} />
{{! 好的做法 - 使用data-test属性}}
<button data-test-submit type="submit">提交</button>
{{! 避免 - 内联事件处理}}
<button {{on "click" (fn this.delete item)}}>删除</button>
三、命名规范 #
3.1 变量命名 #
javascript
// 好的做法
const userList = [];
const isActive = true;
const userCount = 10;
// 避免
const ul = [];
const flag = true;
const n = 10;
3.2 函数命名 #
javascript
// 好的做法 - 动词开头
function fetchUser() {}
function calculateTotal() {}
function validateForm() {}
// 布尔值返回
function isValid() {}
function hasPermission() {}
function canEdit() {}
四、总结 #
代码风格要点:
| 工具 | 用途 |
|---|---|
| Prettier | 代码格式化 |
| ESLint | 代码检查 |
| Template Lint | 模板检查 |
一致的代码风格提高团队协作效率。
最后更新:2026-03-28