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