屎山代码工程学

屎山代码工程学

本项目旨在编写常人难以维护的屎山代码,按我以往经验,如果想让后续接手人员面对你的代码难以维护,首先需要你确定好后续接手项目人的经验水平,从而采取不同的shit策略

菜鸟篇

如果你负责的项目/模块比较简单,后续可能是菜鸟程序员来接手该部分,此时最好的策略反而是写出高质量 的代码,但这个高质量包括但不限于

1.设计模式的混用,我建议核心业务逻辑套至少套四个及以上的设计模式,就算本来不需要,也可以将装饰器模式,代理模式等模式强行套用上去,但切记,不可使用暴露使用的设计模式信息,比如装饰器模式禁止出现decorate,decorator等相关的类命名,如果不知道怎么命名,一律以handler结尾

3.大量使用框架提供的扩展接口,如spring相关

2.不要加任何注释

高手篇

对待高手,一些比如什么混乱命名,多行写一行,诸如此类,在强大的idea面前简直不堪一击,批量重命名,格式化,分分钟让你的努力付之东流

我很赞同一句话叫菜逼克高手,虽然不是完全克制,但在很多方面可以借鉴,菜逼的写法有如下可借鉴

1.不写注释,不写文档,如果代码审查较为严格,必须写的话,那就"撒谎",但这个"撒谎"也是有技巧的,你不能睁眼说瞎话,当然,偶尔的"笔误"还是可以原谅的,比如工期太紧,逗号都忘写了,其余的话你应该做的是混淆避重就轻,混淆是指根据业务使用概念相近的字词任意替换,比如气温,热度,暖度,温暖程度混用,避重就轻是指对简单的代码大量注释,对复杂的逻辑惜字如金甚至闭口不谈

2.不要抽取工具类,哪里使用直接copy,但不要完全copy,因为完全copy会被idea检测出重复代码,所以最好改变一些参数

相关推荐
阿维的博客日记37 分钟前
Hippo4j 线程池监控平台部署手册
java·spring boot·后端
C+++Python3 小时前
详细介绍一下Java泛型的通配符
java·windows·python
JosieBook4 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
一生了无挂4 小时前
Java处理JSON技巧教学(从基础到高阶实战全覆盖)
java·开发语言·json
李白的天不白5 小时前
使用 SmartAdmin 进行前后端开发
java·前端
swordbob5 小时前
Spring 单例 Bean 是线程安全的吗?
java·开发语言
2601_951643776 小时前
Python第一,Java跌出前三,C语言杀回来了
java·c语言·python·编程语言排行·技术趋势
IT 行者8 小时前
GitHub Spec Kit 实战(五):/speckit.tasks 怎么拆——Spec Kit 五部曲收官
java·ai编程·claude
(Charon)8 小时前
【C++ 面试高频基础:指针、引用、const、static、new/delete 总结】
java·开发语言
Yeats_Liao8 小时前
Feed流系统设计(三):数据模型与存储设计,从表结构到Redis收件箱
java·javascript·redis