屎山代码工程学

屎山代码工程学

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

菜鸟篇

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

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

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

2.不要加任何注释

高手篇

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

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

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

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

相关推荐
鱼跃鹰飞3 小时前
设计模式系列:工厂模式
java·设计模式·系统架构
a努力。3 小时前
国家电网Java面试被问:混沌工程在分布式系统中的应用
java·开发语言·数据库·git·mysql·面试·职场和发展
Yvonne爱编码3 小时前
Java 四大内部类全解析:从设计本质到实战应用
java·开发语言·python
J2虾虾3 小时前
SpringBoot和mybatis Plus不兼容报错的问题
java·spring boot·mybatis
毕设源码-郭学长4 小时前
【开题答辩全过程】以 基于springboot 的豪华婚车租赁系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
Tao____6 小时前
通用性物联网平台
java·物联网·mqtt·低代码·开源
曹轲恒6 小时前
SpringBoot整合SpringMVC(上)
java·spring boot·spring
JH30737 小时前
Java Spring中@AllArgsConstructor注解引发的依赖注入异常解决
java·开发语言·spring
码农水水7 小时前
米哈游Java面试被问:机器学习模型的在线服务和A/B测试
java·开发语言·数据库·spring boot·后端·机器学习·word
2601_949575867 小时前
Flutter for OpenHarmony二手物品置换App实战 - 表单验证实现
android·java·flutter