思考:如何写出让同事难以维护的代码?doge

简介: 本文从【程序命名&注释】【数据类型&类&对象】【控制执行流程】和【程序/结构设计】四个方面梳理了一些真实案例,相信通过这些案例你能迅速get技能:如何写出让同事难以维护的代码doge。

摘要概览

比起什么程序员删库跑路,我更喜欢「写出让同事难以维护的代码」,因为即使不能「名垂千古」,至少VCS可以帮你「遗臭万年」。

‍本文从【程序命名&注释】【数据类型&类&对象】【控制执行流程】和【程序/结构设计】四个方面梳理了一些真实案例,相信通过这些案例你能迅速get技能:如何写出让同事难以维护的代码doge。说回正题,前几天在家附近的一个小学校旁边散步,突然听到某个学生说“上学期我是‘三好学生’,xxxx”。想了想,学生有“三好”,那么程序员“三好”是什么?我认为程序员的“三好”是「好用」,「好看」,「好改」。这个是说程序员的代码:

  • 要正确且健壮,就是好用;
  • 要可读性高,易于理解,就是好看;
  • 要方便扩展和改动,就是好改;

平时不少文章都在聊“三好”的正例,今天理一些「好看」的反例,希望给读者一些启发和印象,避免编码中的一些问题,争取做个“三好程序员”吧。

一、程序命名&注释

1.1教你如何挑战维护者

容易输入的变量名

比如:Fred,asdf单字母的变量名。 比如:a,b,c,x,y,z(如果不够用,可以考虑 a1,a2,a3,a4,….)

有创意地拼写错误

比如:SetPintleOpening, SetPintalClosing,这样可以让人很难搜索代码。 

使用缩写和拼音

比如:WTF,RTFSC …… (使用拼音缩写也同样给力,比如:BT,TMD,TJJTDS)

论注释的重要性:不然我以为是「驾校」是一类重要客户,要有单独的helper


1.2嵌入式文档之殇=注释

不要盲目修改,注意理解!!!

注意理解,你会发现其中的不同点……

「注意理解」之后,意外出现了……

程序回忆录

long~ long ago~【狼,狼,啊狗】🐶

千万注意something

实在不知道注意什么……

用注释保留一些秘密

二、数据类型&类&对象

2.1教教你怎么用数组

无所不能的多维数组

如果你觉得二维、三维还不足够,你可以试试四维。

仔细品一品,这个排版和换行可以教你快速数下标的方法:行号-44,比如“常驻工作城市”的下标就是25。

想清楚下标了再调用

一切皆对象,数组也是对象,用就是了


2.2对象?"类"觉不爱

员工服务的四胞胎:俩哥哥service,俩妹妹helper;

——「木兰辞」:"四"兔傍地走,安能辨我是雌雄雄雌;



三、控制执行流程

3.1开胃菜:if-else

巨大的processor。写一个 processor,然后让你的所有的 consumer 类都使用这个 processor,这样你可以在这个 consumer 中整出一大堆 if…else… 语句,相当的刺激。



当return和不return混杂在一起的时候,这份刺激中又多了些惊喜……




3.2大菜:「海鲜拼盘」

下面这个600行的方法让我学会了「截长图」

🐶这是个switch-for-if-continue-return组合,很能理解「作者实在没法把break和goto加进去」的苦衷。

——报告老师:“第四章我已经掌握了”

接下来见证遗迹的时刻……

建议:多来来回回的读读这段代码,有助于锻炼眼球灵活性,并且能有效抵抗颈椎病

看一遍,想一下,case 0的时候返回啥?😏脖子有没有舒服点儿?

四、程序/结构设计

认知升级

GrayService是个灰度服务,corpId是企业ID,那么通过一次灰度放量,在脑壳里执行一下程序,就可以完成认知升级。

image.png


CV工程师佳作

克隆和拷贝。为了效率,你要学会使用 copy + past,你几乎都不用理解别人的代码,你就可以高效地编程了。



包装,包装,再包装

把你所有的 API 都包装上 6 到 8 遍,包装深度多达 4层以上,以便找到足够多相似的东西。

业务是否复杂,这不重要;重要的是1,2行代码的封装也是要的,不包个8层封装,怎么能说明理解分层了呢?

还好我一屏就可以看完整个链路🐶




想必是个核心类

再多引用几个类,我还能干更多事!请大声唱:我真的还想再包500类——《康熙王朝》。



羊大为美

中国人喜欢大,都是“越大越好”,大房子,大车子;而现代中国人总把‘大”放在高位,把‘大”作为对于一个事物最高的评价。像大人,大神,大圣,大仙,大中国,和别人介绍起自己的家乡都会加上“大”字作前缀。所以,从古至今,大始终贯穿着人们对于美好事物的遐想。

我想说还有大类,大方法:


不要过早的return或continue,要「V型」

V型激起我写代码的欲望。

跟左边的深V相比,右边的就太差了,行数竟然变多了。

一张图,一颗心,一场仗 + 一张网

一张网就是「码网」。渔网是打鱼的,码网是打码农。

上图「包Cyclic」:Calculates the number of packages which each package directly or indirectly depends on, and which in turn directly or indirectly depend on it.

下图「类Cyclic」:Calculates the number of classes or interfaces which each class directly or indirectly depends on, and which in turn directly or indirectly depend on it.

Note:Such cyclic dependencies may result in code which is difficult to understand and test.

翻译:能看看,不能看拉倒

相关文章
|
10月前
|
供应链 JavaScript 安全
B/S云门诊系统源码,java云诊所源码,基于Spring Boot、Vue.js构建
云端SaaS架构云门诊系统,基于Spring Boot+Vue开发,支持医保结算,集成预约挂号、诊疗、收费、库存、会员管理等功能,适用于各类基层医疗机构,可打包为C/S桌面应用,支持外接设备免安装配置。
388 10
|
5月前
|
人工智能 前端开发 架构师
CBTI: 22种程序员精神状态,你是哪种?
程序员精神状态鉴定测试(CBTI)上线!21道题、2分钟速测,精准匹配22种编程人格——从“卷王”“PPT架构师”到“小黄鸭调试者”“CRUD Boy”,覆盖技术自信、AI依赖度等12维度。纯前端实现,零数据收集,测完即走。幽默戳心,真实共鸣!
CBTI: 22种程序员精神状态,你是哪种?
|
5月前
|
SQL 人工智能 自然语言处理
AI数据工程师在应用中如何"返璞归真"
本文反思了“知识库+Prompt工程+工具调用”这一轻量级Agent构建模式的局限性,指出其难以应对真实业务场景中的知识质量、语义理解与规模化维护挑战。(本文内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。)
AI数据工程师在应用中如何"返璞归真"
|
缓存 运维 监控
解决隐式内存占用难题
本文详细介绍了在云原生和容器化部署环境中,内存管理和性能优化所面临的挑战及相应的解决方案。
1379 193
解决隐式内存占用难题
|
5月前
|
存储 机器学习/深度学习 编解码
「纯干货」几万字都讲不明白的Memory架构与思考
本文讲述作者对 Memory 的一些理解与思考。(文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。)
「纯干货」几万字都讲不明白的Memory架构与思考
|
5月前
|
SQL 人工智能 关系型数据库
如何避免🦞烧光Token还出错?OpenClaw日志 x AnalyticDB Trace诊断实战
Gartner预测超40% Agentic AI项目因评估失当失败。本文提出基于ADB MySQL的Agent可观测性新范式:用4条SQL实现Trace链路重建、AI自动归因、Token消耗量化及Prompt优化闭环,将失效分析压缩为可嵌入日常流程的轻量工程实践。
如何避免🦞烧光Token还出错?OpenClaw日志 x AnalyticDB Trace诊断实战
|
8月前
|
分布式计算 MaxCompute C语言
AMD服务器上一个诡异的性能问题诊断历程
本文复盘该高优故障的根因、排查过程与应对策略,为新硬件平台上的混部稳定性提供关键经验。
AMD服务器上一个诡异的性能问题诊断历程
|
存储 自然语言处理 数据库
万字长文讲透 RAG在实际落地场景中的优化
本文主要围绕DB-GPT应用开发框架如何在实际落地场景做RAG优化。
万字长文讲透 RAG在实际落地场景中的优化
|
人工智能 监控 数据挖掘
利用DeepSeek帮我做金融理财
本篇文章将介绍如何搭建一套基于 XXL-JOB + Deepseek 的定时数据分析系统,帮你做一个智能的金融理财助手。
利用DeepSeek帮我做金融理财
|
机器学习/深度学习 人工智能 自然语言处理
Transformer到底解决什么问题?
本文希望围绕“Transformer到底是解决什么问题的”这个角度,阐述NLP发展以来遇到的关键问题和解法,通过这些问题引出Transformer实现原理,帮助初学者理解。
Transformer到底解决什么问题?

热门文章

最新文章