代码好不好,看的不是能不能跑,而是能否在千人项目中跑十年不崩溃
npx eslint src/**/*.ts
专注于代码格式,如缩进、括号、换行等;
与 ESLint 配合使用可避免冲突;
可配置 .prettierrc
文件自定义格式。
{
"singleQuote": true,
"semi": false,
"tabWidth": 2
}
分支 | 用途 |
---|---|
main /master |
稳定部署分支 |
dev |
开发主线分支 |
feature/x |
功能开发分支(每人一支) |
hotfix/x |
紧急修复分支 |
release/x |
发版准备分支 |
配合 Commitlint
强制规范提交格式:
feat: 新增用户注册功能
fix: 修复首页按钮不响应 bug
refactor: 重构登录逻辑
推荐格式遵循 Angular 规范(type(scope): description
)
工具 | 用途 |
---|---|
Husky | 在 Git 提交阶段执行脚本(如检测语法) |
lint-staged | 对暂存区文件执行 Lint 检查与修复 |
Commitlint | 校验 Commit Message 格式 |
.husky/pre-commit
:npx lint-staged
test('add(1, 2) should return 3', () => {
expect(add(1, 2)).toBe(3)
})
render()
fireEvent.click(screen.getByText('Click Me'))
expect(fn).toHaveBeenCalled()
cy.visit('/login')
cy.get('input[name="email"]').type('[email protected]')
cy.get('button').click()
cy.url().should('include', '/dashboard')
阶段 | 工具 / 流程 |
---|---|
持续集成(CI) | GitHub Actions / GitLab CI |
测试阶段 | 自动运行 Lint + 单元测试 |
构建阶段 | 自动执行打包、构建 |
持续部署(CD) | 自动上传产物 → CDN/服务器 |
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm install
- run: npm run lint
- run: npm run test
- run: npm run build
答:
对比点 | 单元测试 | E2E 测试 |
---|---|---|
粒度 | 函数/模块级 | 全流程(模拟真实用户) |
运行速度 | 快 | 慢 |
维护成本 | 相对低 | 较高 |
应用场景 | 逻辑正确性 | 核心路径回归测试(如登录、下单) |
工程化不仅仅是配置工具,更是一种 规范开发流程、提升团队协作、保障产品质量 的理念。它是连接“写代码的人”与“维护代码的人”之间的桥梁。在面试中展现你对工程化实践的理解,会大大加分。