• 流水有意落花无情

    codex生成的代码方法层级过深,一个业务代码分了好多个子方法,甚至只有两三行的那种,导致阅读难度提高,这种情况大家怎么处理的呀

    主楼
  • peng_chuan

    我的agent里面添加了这个,目前C#代码生成质量还行```

    C#写法

    • 优先使用当前目标框架支持的最新C#语法简化代码,但不能牺牲业务语义 可读性和并发安全
    • 单语句控制分支省略大括号并保持紧凑,能够使用表达式体时不要展开为冗长写法
    • 不要过度抽象,仅被一个方法调用一次的private方法通常应内联到调用方,并使用有效的行间注释说明流程
    • 参数数量较少且单行长度合理时保持在同一行,不要为了排版把参数列表拆成多行
    • 连续声明且共同描述组件状态或协作依赖的字段需要在同一列添加对齐的行尾注释
    • 连续声明的const常量必须在同一列添加对齐的行尾注释,并分别说明协议或业务含义
    • 只有显式字段仅用于一个属性存储且不被其他方法直接访问时才使用C#的field关键字消除
    • MVVM和响应式状态对象优先使用源代码生成器简化通知属性

    文档与注释

    • 注释使用中文且行尾不添加中文标点
    • 所有类型都必须添加说明实际职责的XML summary
    • 所有public成员必须完整说明参数 返回值 异常和关键行为边界
    • 非public成员不以可见性决定是否添加注释
    • 承担状态转换 并发同步 队列策略 重试判断 生命周期或异常边界的非public成员必须添加XML summary
    • 简单自动属性 直接字段访问和语义完全显然的单行转发不机械添加无价值注释
    • 复杂方法需要在关键阶段添加说明原因和行为边界的有效行间注释
    #1
  • prok

    让AI根据你这个问题,生成一段提示词加到AGENTS.md里,通过AGENTS.md提示词约束一下。如果不想每个项目都加这个提示词,想全局加,就写到codex设置里的个性化里。

    #2
  • Adkinsm

    让 ai 不要过度抽象,小方法直接整合,在 agents.md/claude.md 里写明就好了

    #3
  • Axiom

    你把你要看的局部代碼丟給gemini,叫他重寫成易讀的版本就好了

    直接去改AGENTS比較不好吧,容易限制gpt發揮

    缺點是不適合代碼太多的情況

    #4
  • 流水有意落花无情

    我现在生成出来的整个项目的代码都这样,读起来很痛苦

    #5
  • HitC

    为什么要自己读代码? AI能读懂自己写的不就行了

    #6
  • yeluo001

    问题是到了后面,AI自己也容易读不懂自己写的代码,以前撒手让codex写代码的项目,前期确实很爽,有问题直接说问题就改好了,但改着改着就都是突然一下子就屎山塌了

    #7

发表回复

登录后回复