从怀疑到离不开
去年这个时候,GitHub Copilot 刚在我们小组里小范围开放试用。我当时的态度是不屑一顾的——一个 AI 能懂多少逻辑?代码补全不还是靠 IDE 的智能提示?况且我学了几年 Java,写过多少个项目,什么场景没见过,哪轮得到一个'实习生'来教我写代码。
转折发生在一个赶课程设计 deadline 的周末。隔壁组的同学用 Copilot 十分钟写完了一个数据清洗工具,而我还在翻 Apache Commons 的文档。那天晚上我提交了 Copilot 的试用申请。
一年后的今天,我每天写代码大概有 30%~40% 的内容是 AI 补全的。这篇文章想抛开那些'AI 取代程序员'的宏大叙事,从一个普通计算机专业学生的视角,聊聊这一年我踩过的坑、省下的时间,以及它对代码质量真实的影响。
那些 Copilot 让我'真香'的瞬间
写单元测试,它连边界值都想到了
以前写单元测试是我最抗拒的活,尤其是给课程作业补测试。自从用了 Copilot,我的习惯变成了:先写函数签名,然后空一行,敲个 // test,剩下的交给它。
举个例子,最近写一个计算折扣的方法:
public BigDecimal calculateDiscount(BigDecimal amount, String userLevel) {
// 空值检查
if (amount == null || userLevel == null) {
throw new IllegalArgumentException("参数不能为空");
}
// 金额为 0 或负数,直接返回原值
if (amount.compareTo(BigDecimal.ZERO) <= 0) {
return amount;
}
// 根据会员等级计算折扣
switch (userLevel) {
case "VIP": return amount.multiply(new BigDecimal("0.8"));
case "GOLD": return amount.multiply(new BigDecimal("0.9"));
default: return amount;
}
}
我在测试类里敲 @Test,然后写下注释:
// 测试普通用户无折扣
// 测试 VIP 用户 8 折


