当前位置:首页 > 热点

代码编程装逼

深夜十一点,代码我盯着屏幕上那行红得刺眼的编程报错信息,已经整整四十分钟了。装逼旁边的代码实习生小周探过头来,扫了一眼,编程说:“哥,装逼你那个for循环里,代码i和j写反了。编程”我默默改了,装逼跑通了。代码他转身走开时,编程我听见他嘟囔了一句:“这也能卡这么久。装逼”

那一刻我意识到,代码代码编程这玩意儿,编程装逼的装逼资本从来不是你会多少框架,而是你踩过多少坑。

但很多人不懂。他们以为在简历上写“精通Java”就是装逼,以为在GitHub上fork几个热门项目就是装逼,以为在技术群里甩出一段别人看不懂的Lambda表达式就是装逼。太天真了。真正的装逼,是让代码自己说话,而不是你替代码吹牛。

我见过一个真正的装逼犯。那哥们儿在团队里从不参加代码评审,但每次线上出问题,他都是第一个定位到根因的人。他用的工具就是vim加grep,连IDE都不开。有次数据库连接池爆了,大家围着监控面板手忙脚乱,他慢悠悠地敲了句netstat -an | grep 3306 | wc -l,然后说:“连接数没超,是慢查询把线程占满了。”后来一查,果然是一条没加索引的SQL在作祟。

这种装逼,靠的是对底层机制的深刻理解,而不是花哨的语法糖。你写十行Optional链式调用,人家一行if (obj == null) return;就把空指针防了。谁更高级?

当然,我承认,有时候装逼也是必要的生存技能。比如面试的时候。你总不能跟面试官说“我主要靠搜索引擎写代码”吧?你得把那些“哦原来这个函数是这么用的”的时刻,包装成“我基于对源码的解读,发现这个API的设计意图是……”——虽然你心里清楚,你只是昨天刚在Stack Overflow上看到类似问题。

但装逼也有翻车的时候。去年我给一个客户演示系统,特意准备了一段“优雅”的代码:用了策略模式加工厂模式,还配了自定义注解。演示到一半,客户指着屏幕问:“这个注解是干嘛的?”我巴拉巴拉讲了一堆解耦、扩展性。客户点点头,又问:“那如果我想加一个简单的判断,是不是还得写个新类?”我愣住了。是啊,为了装逼,我把一个if-else能搞定的事,搞成了五个类加三个接口。

客户最后说了一句话,我到现在都记得:“代码是给人看的,不是给编译器看的。编译器不挑食,但人挑。”

从那以后,我悟了。真正的装逼,不是把简单问题复杂化,而是把复杂问题拆解得让傻子都能看懂。是你在代码注释里写“此处不要用正则,因为性能损耗大”,而不是写“此处运用了前瞻性架构设计”。是你敢于在代码评审时说“这段我写得不好,但暂时没想出更好的方案”,而不是硬撑着说“这是最佳实践”。

说白了,代码编程的终极装逼,是你离开公司半年后,同事翻到你写的模块,还能对着你的注释笑出声来——不是嘲笑,是那种“这哥们儿真懂我”的会心一笑。那比任何技术分享会上获得的掌声都实在。

至于那些整天把“高并发”“分布式”“微服务”挂在嘴边的人,我建议他们先把自己的博客首页响应时间优化到200毫秒以内再说。装逼可以,但别装到自己都信了。

分享到: