agentby sunweijieMJ

AI编程最佳实践指南

## 概述

Installs: 0
Used in: 1 repos
Updated: 2d ago
$npx ai-builder add agent sunweijieMJ/ai-programming-best-practices

Installs to .claude/agents/ai-programming-best-practices.md

# AI编程最佳实践指南

## 概述

本文档总结了在Vue3项目中进行AI辅助编程的最佳实践,帮助开发者充分利用AI工具提高开发效率和代码质量。

## 🎯 AI编程核心原则

### 1. 明确性原则
- **具体描述需求**:提供详细的功能描述和边界条件
- **明确技术约束**:说明使用的技术栈、编码规范和项目限制
- **提供上下文**:包含相关文件路径、现有代码示例和项目结构

### 2. 渐进式开发
- **分步实现**:将复杂功能拆分为多个小步骤
- **迭代优化**:基于AI输出结果进行逐步改进
- **及时反馈**:对AI生成的代码提供具体的修改建议

### 3. 质量保证
- **代码审查**:所有AI生成的代码都需要人工审查
- **测试覆盖**:为AI生成的功能编写相应的测试用例
- **文档同步**:确保AI生成的代码包含完整的文档注释

## 🛠️ 项目特定实践

### 1. 组件开发最佳实践

#### 使用标准化模板
```typescript
/**
 * [组件名称]组件
 * @description [组件功能描述]
 * @author AI Assistant
 * @version 1.0.0
 * @example
 * <ComponentName :prop="value" @event="handler" />
 */

// 1. 导入依赖
import { computed, ref } from 'vue';
import type { Component } from 'vue';

// 2. 类型定义
interface Props {
  /** 属性描述 */
  propName: string;
}

interface Emits {
  /** 事件描述 */
  (e: 'event-name', payload: any): void;
}

// 3. 组件逻辑
const props = defineProps<Props>();
const emit = defineEmits<Emits>();

// 4. 响应式数据和计算属性
const state = ref('');
const computedValue = computed(() => {
  // 计算逻辑
});

// 5. 方法定义
const handleMethod = () => {
  // 方法实现
};
```

#### CSS变量使用规范
```scss
// ✅ 推荐:使用CSS变量
.component {
  color: var(--colorTextBase);
  background: var(--colorBgContainer);
  border: 1px solid var(--colorBorder);
}

// ❌ 避免:硬编码颜色值
.component {
  color: #333;
  background: #fff;
  border: 1px solid #ddd;
}
```

### 2. API开发最佳实践

#### 类型安全的API接口
```typescript
/**
 * 用户API接口
 * @description 用户相关的API操作接口
 */
export interface UserApi {
  /**
   * 获取用户信息
   * @param id - 用户ID
   * @returns Promise<ApiResponse<User>>
   */
  getUserInfo(id: string): Promise<ApiResponse<User>>;
  
  /**
   * 更新用户信息
   * @param id - 用户ID
   * @param data - 更新数据
   * @returns Promise<ApiResponse<User>>
   */
  updateUser(id: string, data: Partial<User>): Promise<ApiResponse<User>>;
}

/**
 * API响应基础接口
 */
interface ApiResponse<T = any> {
  /** 响应码 */
  code: number;
  /** 响应消息 */
  message: string;
  /** 响应数据 */
  data: T;
  /** 是否成功 */
  success: boolean;
}
```

#### 统一的错误处理
```typescript
/**
 * API请求封装
 * @description 统一的API请求处理,包含错误处理和加载状态
 */
export const useApi = <T>(apiCall: () => Promise<T>) => {
  const loading = ref(false);
  const error = ref<string | null>(null);
  const data = ref<T | null>(null);

  const execute = async () => {
    try {
      loading.value = true;
      error.value = null;
      data.value = await apiCall();
    } catch (err) {
      error.value = err instanceof Error ? err.message : '请求失败';
      console.error('API请求错误:', err);
    } finally {
      loading.value = false;
    }
  };

  return { loading, error, data, execute };
};
```

### 3. 状态管理最佳实践

#### Pinia Store标准结构
```typescript
/**
 * [模块名称] Store
 * @description [模块功能描述]
 */
export const use[ModuleName]Store = defineStore('[module-name]', () => {
  // 1. 状态定义
  const state = ref<StateType>({
    // 初始状态
  });

  // 2. 计算属性
  const computedValue = computed(() => {
    // 计算逻辑
  });

  // 3. 异步操作
  const asyncAction = async (params: ParamsType) => {
    try {
      // API调用
      const result = await api.call(params);
      // 状态更新
      state.value = result;
      return result;
    } catch (error) {
      console.error('Store操作失败:', error);
      throw error;
    }
  };

  // 4. 同步操作
  const syncAction = (payload: PayloadType) => {
    // 状态更新逻辑
  };

  return {
    // 导出状态
    state: readonly(state),
    // 导出计算属性
    computedValue,
    // 导出操作方法
    asyncAction,
    syncAction,
  };
});
```

## 📋 AI协作工作流

### 1. 需求分析阶段
```
1. 明确功能需求
   - 功能描述
   - 用户场景
   - 技术要求

2. 分析技术方案
   - 架构设计
   - 技术选型
   - 实现难点

3. 制定开发计划
   - 任务分解
   - 优先级排序
   - 时间估算
```

### 2. 开发实施阶段
```
1. 创建基础结构
   - 文件创建
   - 类型定义
   - 基础框架

2. 实现核心功能
   - 逻辑实现
   - 交互处理
   - 状态管理

3. 完善细节
   - 错误处理
   - 边界情况
   - 性能优化
```

### 3. 质量保证阶段
```
1. 代码审查
   - 规范检查
   - 逻辑审查
   - 安全检查

2. 测试验证
   - 单元测试
   - 集成测试
   - 用户测试

3. 文档完善
   - 代码注释
   - API文档
   - 使用说明
```

## 🔧 AI工具使用技巧

### 1. 提示词优化技巧

#### 结构化提示词
```
角色定义:你是一个Vue3专家开发者
任务描述:[具体任务]
技术要求:
- 使用Vue3 Composition API
- TypeScript类型安全
- 遵循项目编码规范
上下文信息:
- 项目结构:[相关文件路径]
- 现有代码:[代码示例]
- 依赖关系:[相关组件/模块]
输出要求:
- 完整的代码实现
- 详细的注释说明
- 使用示例
```

#### 迭代式改进
```
第一轮:基础功能实现
第二轮:错误处理和边界情况
第三轮:性能优化和代码规范
第四轮:文档完善和测试用例
```

### 2. 代码质量控制

#### 自动化检查清单
- [ ] TypeScript类型检查通过
- [ ] ESLint规则检查通过
- [ ] Stylelint样式检查通过
- [ ] 单元测试覆盖率达标
- [ ] 性能指标符合要求
- [ ] 可访问性标准达标

#### 人工审查要点
- [ ] 业务逻辑正确性
- [ ] 用户体验合理性
- [ ] 代码可维护性
- [ ] 安全性考虑
- [ ] 扩展性设计
- [ ] 文档完整性

## 📊 效果评估

### 1. 开发效率指标
- **代码生成速度**:AI辅助 vs 手工编写的时间对比
- **Bug修复效率**:问题定位和解决的时间
- **功能迭代速度**:从需求到上线的周期

### 2. 代码质量指标
- **类型安全性**:TypeScript覆盖率和错误率
- **代码规范性**:Linter检查通过率
- **测试覆盖率**:单元测试和集成测试覆盖率
- **性能表现**:页面加载速度和运行时性能

### 3. 团队协作指标
- **代码一致性**:不同开发者代码风格的一致性
- **知识传递**:新成员上手速度
- **维护成本**:代码维护和更新的工作量

## 🚀 持续改进

### 1. 学习反馈机制
- 收集AI使用过程中的问题和改进建议
- 定期更新提示词模板和最佳实践
- 分享成功案例和失败教训

### 2. 工具链优化
- 集成更多AI辅助工具
- 优化开发环境配置
- 自动化更多重复性工作

### 3. 团队能力提升
- 定期进行AI编程培训
- 建立内部知识库
- 促进经验分享和交流

通过遵循这些最佳实践,可以最大化AI编程的效果,提高开发效率和代码质量,同时确保项目的可维护性和可扩展性。

Quick Install

$npx ai-builder add agent sunweijieMJ/ai-programming-best-practices

Details

Type
agent
Slug
sunweijieMJ/ai-programming-best-practices
Created
5d ago