找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1972

积分

0

好友

282

主题
发表于 2025-12-31 03:46:38 | 查看: 25| 回复: 0

人工智能技术能助力团队实现前所未有的开发提速,但与此同时,也可能引发各类漏洞、故障与问题。运用以下策略,既能保持开发效率,又能牢牢把控代码质量。

如果你无法信任自己交付的代码,那么一味追求更快又有什么意义?

许多开发者已经在工作流程中引入了AI工具。不可否认,日常开发效率因此大幅提升。过去耗时数小时的任务,如今几分钟即可完成;有时甚至在你早晨那杯咖啡还没喝完之前,一个完整的功能就已经成形。

但效率提升的背后也潜藏着风险。当AI在缺乏明确指导和约束的情况下被使用,往往会生成“AI slop”——即那些看似能跑,实则缺乏上下文、由半成品代码拼接而成的产物。它们悄无声息地积累着潜在的bug、错误的依赖引用,以及沉重的技术债务。

在这个AI加持开发的新时代,单纯求快已经不够了。真正能拉开团队差距的,是在高速前进中对精准度与质量的掌控力。

“最优秀的车手并不是单纯跑得最快的人,而是在高速下依然保持平稳和掌控的人。”GitHub产品副总裁 Marcelo Oliveira 在 GitHub Universe 2025 上表示,“速度和掌控并不是对立的,它们会相互强化。”

那么,如何才能两者兼得?如何在保持高速前进的同时,让代码依然干净、可靠?以下是三项关键策略。

技巧一:把速度与质量视为一个整体,而不是二选一

开发者很容易接受那些外观“精致”的人工智能生成代码,却可能忽略其背后潜藏的维护性问题和可靠性风险。没有质量保障的速度,并不能真正帮助你更快交付,它只会让技术债务在未来不断叠加、放大。因此,成功的团队和组织,都会在利用AI提升速度的同时,配套建立清晰而有效的质量防护机制。

这正是 GitHub Code Quality(目前处于公开预览阶段)所要解决的问题。它是一款由AI与CodeQL驱动的代码分析工具,能在你开发的同时,持续扫描整个代码库,发现可维护性问题、可靠性风险以及技术债务。以下是开始使用它的方式:

  1. 一键启用
    在仓库级别开启后,GitHub会结合CodeQL与大语言模型的检测能力,对你的代码进行分析,帮助你清晰了解代码库中的质量现状。

  2. 在每一个Pull Request中获得自动修复建议
    当你创建Pull Request时,GitHub Code Quality会立即标记出未使用的变量、重复的逻辑、潜在的运行时错误等问题。下面是一个示例:这段Pull Request中的代码“可以运行”,但远未达到生产级别的要求。

    // fuelCalculator.js
    
    export function calculateFuelUsage(laps, fuelPerLap) {
      const lastLap = laps[laps.length - 1]; // unused variable
    
      function totalFuel(laps, fuelPerLap) {
        return laps.length * fuelPerLap;
      }
    
      // duplicated function
      function totalFuel(laps, fuelPerLap) {
        return laps.length * fuelPerLap;
      }
    
      return totalFuel(laps, fuelPerLap);
    }

    GitHub Code Quality会基于AI与CodeQL给出改进建议,并提供一键修复功能:

    -export function calculateFuelUsage(laps, fuelPerLap) {
    -  const lastLap = laps[laps.length - 1]; // unused variable
    -
    -  function totalFuel(laps, fuelPerLap) {
    -    return laps.length * fuelPerLap;
    -  }
    -
    -  // duplicated function
    -  function totalFuel(laps, fuelPerLap) {
    -    return laps.length * fuelPerLap;
    -  }
    -
    -  return totalFuel(laps, fuelPerLap);
    -}
    +export function calculateFuelUsage(laps, fuelPerLap) {
    +  if (!Array.isArray(laps) || typeof fuelPerLap !== "number") {
    +    throw new Error("Invalid input");
    +  }
    +  return laps.length * fuelPerLap;
    +}

    无需额外分流、也不会拖慢节奏,最终得到的是干净、可靠的代码。

  3. 设定并执行你的质量底线
    通过自定义规则集,你可以阻止未达到团队标准的代码合并。在不依赖评审者个人意志、也不牺牲开发效率的前提下,持续保持一致的代码质量。

  4. 揭示(并修复)遗留的技术债务
    AI Findings页面会高亮显示团队当前正在修改的文件中的历史问题,帮助你在问题正处于关注焦点时顺手修复,减少频繁的上下文切换。

一句话总结:AI带来的是速度,GitHub Code Quality带来的是掌控力。两者结合,让你在无需取舍的情况下,既能跑得更快,又能构建得更好。

技巧二:做驾驶员,而不是乘客

AI可以快速生成代码,但质量从来不是只靠自动化就能保证的。真正重要的是为开发者提供写出高质量代码的工具——从IDE中的Copilot,到Pull Request里的GitHub Copilot代码评审,再到GitHub Code Quality。这些工具不仅能让你看到长期存在的问题和技术债务,还能提供可执行的修复建议,帮助你真正解决问题。

这些能力赋予你设定方向、标准和边界的主动权。你的意图越清晰,AI就越能发挥应有的价值。下面是一个简单但有效的提示词框架:

  1. 说明目标,而不只是动作
    把提示词当成是在给另一位工程师下达指令:信息越明确,结果越好。

    • 不好的提示词:重构这个文件
    • 更好的提示词:在不改变现有功能的前提下,对这个文件进行重构,以提升可读性和可维护性,不允许引入任何破坏性变更。
  2. 明确约束条件
    例如:

    • “不引入第三方依赖”
    • “必须向后兼容 v1.7”
    • “遵循现有的命名规范”
  3. 提供参考上下文
    可以链接相关文件、文档、现有测试,或架构设计决策。

  4. 指定输出形式
    明确你期望的输出是Pull Request、diff、patch、说明性文字,还是代码块。

借助 GitHub Copilot Coding Agent,你甚至可以分配多步骤任务,例如:

在整个应用中创建一个用于货币格式化的全新辅助函数。
 - 必须支持 USD 和 EUR
 - 结果保留两位小数并向上取整
 - 新增三个单元测试
 - 不要修改现有的价格解析器
 - 以 Pull Request 的形式提交

请注意,在这个过程中,思考和决策的责任仍然在你,而执行的责任则交给了Agent。

一句话总结:AI负责加速执行,而你的清晰意图——再加上质量防护机制——才是把这种加速转化为高质量软件的关键。

技巧三:构建思考过程的可见依据,而不只是输出结果

当AI承担越来越多的执行性工作时,真正拉开开发者差距的,是你能否清晰地表达自己的决策、取舍以及背后的思考过程。如今,光写出代码已经不够了,你还需要在功能的整个生命周期中,展示自己是如何思考问题、评估方案并推进实现的。

以下是一个可以提升开发流程中信息传达效果的最佳实践:

  1. 创建一个Issue,把“为什么”讲清楚
    简要说明问题是什么、成功标准、存在哪些约束条件,以及潜在风险。

  2. 清晰命名分支,认真提交代码
    使用有意义的分支名称和提交信息来阐述你的思考过程,而不只是记录操作步骤。

  3. 使用Copilot和Coding Agent构建功能,同时记录决策
    简要说明你为什么选择某种方案,而不是其他方案,以及曾考虑过哪些替代选项。

  4. 在Pull Request中提供信息丰富的上下文
    包括为什么要做、做了哪些改动以及考虑过哪些替代方案的简要说明。
    例如,不要只写:添加了深色模式切换功能
    可以改为:

     - 添加了深色模式切换,以提升无障碍体验并满足用户个性化偏好。
     - 为避免引入服务端依赖,选择使用 localStorage 进行状态持久化。
     - 将样式改动控制在局部范围内,避免对现有主题产生副作用。

一句话总结:代码展示的是你做了什么,而文档则展示了其重要性所在。在这个AI时代,后者与前者同样关键。

AI辅助开发示意图
图:借助AI工具进行高效开发已成为新常态。

携手向前

归根结底,质量才是一切的基础。AI的确可以加快工作的节奏,但如果缺乏明确的意图引导,这种速度也可能适得其反。然而,当你将AI与清晰的方向、稳固的防护机制以及可见的思考过程结合起来时,就能帮助团队在规模化交付中持续产出更干净、更可靠的代码,让组织在快速前进的同时,不牺牲最重要的价值。

本文讨论的AI辅助开发与质量控制,是云栈社区技术论坛中持续关注的热点话题,欢迎开发者们加入交流。




上一篇:2025年AI热潮降温:大语言模型的幻灭与行业理性回归
下一篇:《鸣潮》3.0版本深度解析:从内容堆料到玩法驱动的开放世界变革
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-11 11:55 , Processed in 0.220105 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表