把我的“Java 生产力”外包给一个叫 Claude 的助手
作者:张工,某不知名互联网公司“背锅侠”兼“需求翻译机”年龄:31,发量:与 JVM 堆内存成反比今日心情:不想写 CRUD,但产品经理说“就一个字段的事”
一、前言:我,Java 搬砖工,终于找到了“代餐”
UserService.getUserById()。“兄弟,你还在手写 Controller?Claude 三秒生成,你还在等什么?”
二、Claude 是怎么拯救我这个“Java 残疾人”的?
1. CRUD?不存在的,我只负责“审查”
“在 User 类加个nickName字段,长度 20,非空,前端要显示。”
@NotBlank(message = "昵称不能为空") 都给你写好了。2. Bug 调试?我只负责“甩锅”
java.lang.NullPointerException: null
at com.xxx.service.OrderService.processOrder(OrderService.java:88)
user.getProfile().getAvatarUrl().toLowerCase()“这行为啥空指针?怎么改?”
“兄弟,你没判空啊!建议改成:Optional.ofNullable(user).map(User::getProfile).map(Profile::getAvatarUrl).map(String::toLowerCase).orElse("default.png");”
3. 重构?我只负责“点头”
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.size(); j++) {
if (i != j && list.get(i).equals(list.get(j))) {
// 去重
}
}
}
“这代码太慢了,怎么优化?”
“建议用Set<String> seen = new HashSet<>(),一行搞定去重。”
4. 写测试?我只负责“Ctrl + V”
when(userService.getById(1L)).thenReturn(user); 就想睡觉。“生成 UserService 的 JUnit 5 测试,Mockito 模拟 Mapper。”
@DisplayName("should return user when exists") 都给你写好了。三、使用心得:AI 不是来抢饭碗的,是来帮我“少吃点苦”的
- 这个模块要不要拆微服务?
- 缓存策略是不是该优化?
- 能不能用 Kafka 解耦?
四、给 fellow 程序员的建议
- 别害羞,大胆问:就像问隔壁工位老王一样,但老王会嫌你烦,Claude 不会。
- 别全信,要复核:AI 也会“一本正经地胡说八道”,关键逻辑自己看一眼。
- 别炫技,要实用:不是为了 show off,是为了早点下班。
- 别忘了,你是 boss:AI 是你的“实习生”,你负责提需求、审代码、背锅。
五、结语:今天,我又提前下班了
最后提醒:工具再强,也别忘了——你的价值,不在于写多少行代码,而在于解决多复杂的问题。
六、国内能用吗?别慌,咱们有“魔法通道”
**Flapcode**:一个神奇的网站,让你不用注册 Claude 账号,不用FQ,只要登录,就能召唤 AI 程序员
把我的“Java 生产力”外包给一个叫 Claude 的助手的更多相关文章
- java操作xml的一个小例子
最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要 ...
- Java中直接输出一个类的对象
例如 package com.atguigu.java.fanshe; public class Person { String name; private int age; public Strin ...
- Java界面编程-建立一个可以画出图形的简单框架
引子:总共使用3个.java文件,建立一个简单界面编程的框架. 第1个文件:NotHelloWorldComponent.java //NotHelloWorldComponent.java 1 im ...
- Java程序只运行一个实例[转]
如果希望你的Java程序只能存在一个实例,可以参考下面的用法. 原文链接:http://blog.csdn.net/yaerfeng/article/details/7264729 Java没有提供这 ...
- 用java从0生成一个简单的excel
用java从0生成一个简单的excel 目标 用代码实现对一个excel的基础操作,包括创建,插入文字,(好像就这些了),生成的excel可以用wps打开,如果直接用c++的文件流会生成假的xls表格 ...
- 初学Java Web(3)——第一个Servlet
这学期 Java Web 课程的第一节课就简短复习了一下 Java 的一些基础知识,所以觉得 Java 的基础知识还是很重要的,但当我想要去写一篇 Java 回顾的文章的时候发现很难,因为坑实在太多了 ...
- java holdsLock()方法检测一个线程是否拥有锁
http://blog.csdn.net/w410589502/article/details/54949506 java.lang.Thread中有一个方法叫holdsLock(),它返回true如 ...
- java怎么实现统计一个字符串中字符出现的次数
问题:假设字符串仅仅保护a-z 的字母,java怎么实现统计一个字符串中字符出现的次数?而且,如果压缩后的字符数不小于原始字符数,则返回. 处理逻辑:首先拆分字符串,以拆分出的字符为key,以字符出现 ...
- Java动态代理:一个面包店的动态代理帝国
文章首发于[博客园-陈树义],点击跳转到原文大白话说Java动态代理:一个面包店的动态代理帝国 代理模式是设计模式中非常重要的一种类型,而设计模式又是编程中非常重要的知识点,特别是在业务系统的重构中, ...
- 使用Java Socket手撸一个http服务器
原文连接:使用Java Socket手撸一个http服务器 作为一个java后端,提供http服务可以说是基本技能之一了,但是你真的了解http协议么?你知道知道如何手撸一个http服务器么?tomc ...
随机推荐
- [HITCON 2017]SSRFme 1 Perl GET任意命令执行漏洞
[HITCON 2017]SSRFme 1 学到了perl的open中的命令执行漏洞,参考了这篇博客大佬一的博客和这篇大佬二的博客 open漏洞 在perl语言中,open函数存在命令执行漏洞:如果o ...
- RBMQ与odoo15的集成
背景:在对接物联网设备时候常用的协议就是:MQTT.AMQ.https.还有WebSocket,此案例就是针对接物联网设备传输的消息的消费 原理:通过新建守护线程的方式来启动mq服务,来消费设备平台端 ...
- 3 MyBatis动态SQL之set标签|转
1 MyBatis动态SQL之if 语句 2 MyBatis动态sql之where标签|转 3 MyBatis动态SQL之set标签|转 4 MyBatis动态SQL之trim元素|转 5 MyBat ...
- 使用Spring Boot 优雅地发送邮件
1.前言 在实际项目中,经常需要用到邮件通知功能.比如,用户通过邮件注册账号,通过邮件找回账号密码等:又比如通过邮件发送系统运行情况,通过邮件发送报表信息,给用户发送营销信息等等,实际应 ...
- 用bat脚本启动和停止系统服务,如oracle等
启动脚本 启动oracle.bat :: 取得管理员权限 :Main @echo off cd /d "%~dp0" cacls.exe "%SystemDrive%\S ...
- CSP2020复赛后日志
day0 死磕T1,1h30min后估30pts无从下手优化: 看到T2,貌似是组合数学,直接\(pass\) 看到T3,想到暴力--线段树--vector存展开指令--1h30min写完暴力继续T1 ...
- iStore实现 SmartDNS + AdGuard Home IP优选+广告屏蔽
iStore实现 SmartDNS + AdGuard Home IP优选+广告屏蔽 参考自openwrt 官方版 安装配置 AdGuard Home + smartdns 告别广告烦扰 教程 软路由 ...
- ceph集群故障运维--持续更新
一.PG处于异常状态active+undersized+degraded 部署环境: 自己搭建的3节点集群,集群共5个OSD,部署Ceph的RadosGW的服务时,副本默认设置为3,集群存放数据量少. ...
- gRPC 学习了解记录
背景 项目中需要用到gRPC,所以需要去了解它的使用.去官网看它的介绍以及run Quick start run quickStart 遇到问题 根据官网的介绍,run Quick start 的时候 ...
- DRF之登录认证源码分析
DRF之登录认证源码分析 [一]引入 [1]表模型 from django.db import models # Create your models here. class UserInfo(mod ...