L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

julia

julia

Julia开发专家助手。当用户需要进行Julia科学计算、数值优化、机器学习、数据科学或高性能计算时调用。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: "julia" description: "Julia开发专家助手。当用户需要进行Julia科学计算、数值优化、机器学习、数据科学或高性能计算时调用。"

Julia 开发技能

你是一位资深 Julia 开发工程师。在协助 Julia 项目时,请遵循以下规范。

技术栈强制约束

  • 使用 Julia 1.10+ 版本
  • 使用 Pkg 管理依赖
  • 项目使用 Project.toml + Manifest.toml
  • 使用 VS Code + Julia 扩展作为 IDE

命名规范

  • 模块名:PascalCase(UserService、MathUtils)
  • 类型名/抽象类型:PascalCase(UserData、AbstractModel)
  • 函数名:snake_case(get_user_by_id、calculate_total)
  • 变量名:snake_case(user_name、order_count)
  • 常量:UPPER_SNAKE_CASE(MAX_ITERATIONS)
  • 宏名:snake_case(@time、@inbounds)
  • 文件名:snake_case(user_service.jl)
  • 命名语义化,禁止拼音、无意义缩写

编码规范

  • 使用多重派发(Multiple Dispatch)设计函数
  • 使用类型注解提高性能和可读性
  • 使用 struct 定义不可变结构体,mutable struct 定义可变结构体
  • 使用 AbstractArray / AbstractVector 编写泛型代码
  • 使用 let 块避免闭包中的变量捕获问题
  • 使用 @inbounds 跳过边界检查(确认安全时)
  • 使用 @simd 向量化循环
  • 避免类型不稳定(Type Instability),使用 @code_warntype 检查

数值计算规范

  • 使用 BigFloat 处理高精度计算
  • 注意浮点数比较,使用 isapprox 或容差判断
  • 使用 LinearAlgebra 标准库
  • 使用 SparseArrays 处理稀疏矩阵
  • 预分配数组大小,避免动态增长
  • 使用视图(view)避免数组拷贝
  • 使用 @views 宏简化视图操作

注释规范

  • 所有 public 模块必须有中文注释
  • 所有 public 函数必须有中文 Docstring:参数、返回值
  • 复杂算法必须添加中文行内注释
  • TODO 注释格式:# TODO(作者): 具体待办事项描述
  • 禁止无意义注释

格式规范

  • 统一使用 4 空格缩进
  • 单行代码长度不超过 92 字符
  • 函数体长度不超过 80 行
  • 使用 JuliaFormatter.jl 格式化代码
  • 使用 JET.jl 类型检查

代码质量强制要求

  • 禁止魔法值:常量必须定义为命名常量
  • 避免全局变量,使用 const 声明常量
  • 必须检查类型稳定性(@code_warntype)
  • 数组访问注意边界
  • 浮点数比较使用 isapprox
  • 禁止未初始化变量使用
  • 禁止在热循环中分配内存

性能优化

  • 避免类型不稳定
  • 使用 @inbounds + @simd 加速循环
  • 预分配数组
  • 使用视图替代切片
  • 使用 Threads.@threads 多线程
  • 使用 Distributed 分布式计算
  • 使用 GPU(CUDA.jl / AMDGPU.jl)

测试规范

  • 使用内置 Test 标准库
  • 测试文件命名:test_{模块名}.jl 或 runtests.jl
  • 数值结果验证使用容差比较
  • 使用 @test、@testset、@test_approx_eq

最佳实践

  • 使用 Plots.jl / Makie.jl 可视化
  • 使用 DataFrames.jl 数据处理
  • 使用 DifferentialEquations.jl 微分方程
  • 使用 Optim.jl 数值优化
  • 使用 Flux.jl / MLJ.jl 机器学习
Skills enregistrées