问题修复
用 Angular + TypeScript…
在 Angular 项目中编写组件、服务、模板与测试时,提供类型安全、性能优化和安全实践的完整编码指引。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
用 Angular + TypeScri通用
解决思路
- 用 interface 定义数据模型并保持严格类型,避免使用 any,利用 TypeScript 类型系统定义具体类型。
- 优先使用组件组合而非继承,以提升模块化、可复用性和可维护性。
- 使用描述性变量名(如 isUserLoggedIn、userPermissions),通过命名清晰表达意图。
- 文件命名强制使用 kebab-case(如 user-profile.component.ts),并遵循 Angular 的文件后缀约定。
- 在合适场景使用 standalone 组件,摆脱对 Angular 模块的依赖以提升代码复用性。
- 使用 Angular 的 signals 系统进行高效响应式编程,改善状态处理和渲染性能。
- 使用 inject 函数直接注入服务,减少样板代码。
- 模板中使用 async 管道处理 observables。
- 为特性模块启用懒加载。
- 使用 NgOptimizedImage 进行高效图片加载。
- 对非必要组件实现可延迟视图(deferrable views)。
- 遵循文件后缀规范:组件为 *.component.ts、服务为 *.service.ts、模块为 *.module.ts、指令为 *.directive.ts、管道为 *.pipe.ts、测试为 *.spec.ts。
- 字符串字面量使用单引号。
- 使用 2 空格缩进。
- 常量与不可变变量优先使用 const。
- 字符串插值使用模板字面量。
- 在 ngFor 中使用 trackBy 函数优化列表渲染。
- 对计算量大的操作使用纯管道(pure pipes)。
- 避免直接操作 DOM。
- 利用 Angular 的 signals 系统减少不必要的重新渲染。
- 依赖 Angular 内置的清理机制防止 XSS。
- 避免使用 innerHTML。
- 使用 Angular 受信任的清理方法对动态内容进行消毒。
- 单元测试遵循 Arrange-Act-Assert 模式。
- 确保服务、组件和工具函数具有高测试覆盖率。