Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minecraft-modding-skill

优化AI的一些代码规范

安装方式

  • git clone
  • 直接扔到对应的skills文件夹, 目前只测试在codex上的情况

如何判断触发

image

触发时AI会发这句话

我做了什么?

关于代码规范

  • 这个规范不允许AI使用静态常量,而更偏向使用魔法数
    • 因为AI会在一个功能内写入大量的静态常量, 而这个常量只在一个方法调用,我要求改为局部常量
    • 只有在写 物理,数学,自定义系统内容才会使用静态常量
    • 当存在多个相同语义的局部常量时,会考虑升级为静态常量
    • 当在方法中构建一个常量存在大开销时,会考虑为静态常量
    • 当删除多个功能时导致静态常量(不包含物理数学等常量类)几乎没有调用时,会降级为局部常量或删除
    • 单例,注册相关的内容会使用静态常量
  • 我要求了AI在写代码之前先通过本Skill提供的脚本查询相关修改方法的相关调用,从而避免出现改了功能导致另外一个功能损坏的问题
  • 我要求AI在修改,新增功能之前,会检查是否会和现有功能互斥, 存在互斥则会告知用户
  • 我要求AI在完成用户需求的时候, 如果存在歧义,会让AI停下来问用户(这里可能需要引导回复,如果不理会按AI自己的想法来)
  • 我要求AI在完成接口,抽象方法的时候,一定会增加中文用例,注释 详细解释其中要实现的内容
  • 我要求AI在完成复杂算法的时候,按照算法初学者认为的复杂的情况,给算法添加行注释用来解释思路,分支思路
  • 我要求AI在写浮点数,Double类型的时候,会按照人最正常的情况写(至少我是这么干的) 例如 1D,1.0, 1F,1.2
  • 我要求AI在写kotlin类的时候,会查询类的扩展函数(这可能会减慢AI的速度或者增加token,如果你不需要这个功能可以让你的智能体删除掉这个约束) 优先采用实现好的扩展函数
  • 我要求AI在写kotlin类的时候,对应getter setter属性会使用xxx.xxx 而不是xxx.getXxx()
  • 我要求AI在为Mixin写接口Interface时,不采用modid$method的命名方式

关于工具

  • 我让AI补充了对于1.21.1 mojang mapping的源代码知识库
  • 我让AI制作了大量查询方法引用,kotlin扩展函数的脚本(防止AI自己写自己查询,也算是节约时间了)

About

优化AI的一些代码规范

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages