Skip to content

pfdu/ai_coding_tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI辅助编程教程 - 网络芯片仿真位宽转换

项目简介

本项目是一个完整的AI辅助编程教程示例,演示如何使用AI工具开发网络芯片仿真中的数据位宽转换功能。项目包含完整的实现代码、测试用例和详细的教程文档。

功能特性

  • ✅ 数据位宽转换核心算法
  • ✅ 残余数据处理和拼接
  • ✅ 包边界标志维护
  • ✅ 完整的单元测试覆盖
  • ✅ 详细的使用示例
  • ✅ 标准化的AI开发流程

快速开始

环境要求

  • C++17编译器(GCC 7+ 或 Clang 5+)
  • CMake 3.14+
  • Git

编译和运行

# 克隆项目
git clone <repository-url>
cd ai_coding_tutorial

# 创建构建目录
mkdir build && cd build

# 配置项目
cmake ..

# 编译
make -j4

# 运行测试
./test_bitwidth_converter

# 运行演示程序
./demo

项目结构

ai_coding_tutorial/
├── include/                 # 头文件
│   ├── slice.h             # 数据切片结构定义
│   └── bitwidth_converter.h # 位宽转换器接口
├── src/                    # 源代码
│   └── bitwidth_converter.cpp # 位宽转换器实现
├── tests/                  # 测试代码
│   └── test_bitwidth_converter.cpp # 单元测试
├── examples/               # 示例代码
│   └── demo.cpp           # 功能演示程序
├── docs/                   # 文档
│   └── AI_CODING_TUTORIAL.md # 详细教程
├── CMakeLists.txt          # 构建配置
└── README.md              # 项目说明

核心功能

位宽转换函数

std::pair<Slice, Slice> BitwidthConverter::convert_bitwidth(
    const Slice& current,    // 当前输入slice
    const Slice& residual,   // 上次剩余slice
    uint32_t target_width    // 目标位宽(字节)
);

使用示例

#include "slice.h"
#include "bitwidth_converter.h"

// 创建输入数据
std::vector<uint8_t> data = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06};
Slice current(6, 100, true, false, data);
Slice residual; // 空残余

// 执行位宽转换
auto result = BitwidthConverter::convert_bitwidth(current, residual, 4);

// 获取结果
Slice output_slice = result.first;    // 输出:前4字节
Slice new_residual = result.second;   // 残余:后2字节

测试覆盖

项目包含11个全面的测试用例,覆盖以下场景:

  • ✅ 正常位宽转换
  • ✅ 数据不足目标位宽
  • ✅ 数据超过目标位宽
  • ✅ 残余数据拼接
  • ✅ 包边界标志处理
  • ✅ 空输入处理
  • ✅ 异常参数处理
  • ✅ 跨包数据处理
  • ✅ 大数据量处理
  • ✅ 连续处理场景

AI辅助开发流程

本项目展示了标准化的AI辅助编程流程:

  1. 需求分析 - 明确功能要求和约束条件
  2. Prompt设计 - 编写有效的AI提示词
  3. 代码生成 - 使用AI工具生成基础代码
  4. 代码审查 - 检查生成代码的质量和正确性
  5. 测试验证 - 编写和执行全面的测试用例
  6. 优化改进 - 基于测试结果进行优化

教程文档

详细的AI辅助编程教程请参考:AI_CODING_TUTORIAL.md

教程内容包括:

  • AI Prompt模板和优化技巧
  • 代码生成和审查流程
  • 测试用例设计方法
  • 调试和优化建议
  • 最佳实践和注意事项

贡献指南

欢迎提交Issue和Pull Request来改进本项目:

  1. Fork本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建Pull Request

许可证

本项目采用MIT许可证 - 详见 LICENSE 文件

联系方式

如有问题或建议,请通过以下方式联系:

致谢

感谢所有为本项目做出贡献的开发者和AI辅助编程工具的支持。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published