屎山代码工程学

屎山代码工程学

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

菜鸟篇

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

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

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

2.不要加任何注释

高手篇

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

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

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

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

相关推荐
禾小西1 小时前
Java 逐梦力扣之旅_[204. 计数质数]
java·算法·leetcode
ゞ 正在缓冲99%…1 小时前
leetcode295.数据流的中位数
java·数据结构·算法·leetcode·
有梦想的攻城狮3 小时前
spring-cloud-alibaba-nacos-config使用说明
java·spring·nacos·springcloud·配置中心
Yan-英杰4 小时前
【百日精通JAVA | SQL篇 | 第三篇】 MYSQL增删改查
java·数据库·sql
矛取矛求5 小时前
C++ 标准库参考手册深度解析
java·开发语言·c++
cijiancao5 小时前
23 种设计模式中的解释器模式
java·设计模式·解释器模式
南七行者5 小时前
对模板方法模式的理解
java·设计模式·模板方法
麻芝汤圆6 小时前
MapReduce 的广泛应用:从数据处理到智能决策
java·开发语言·前端·hadoop·后端·servlet·mapreduce
努力的搬砖人.6 小时前
java如何实现一个秒杀系统(原理)
java·经验分享·后端·面试
哈哈哈哈哈哈哈哈哈...........6 小时前
【java】在 Java 中,获取一个类的`Class`对象有多种方式
java·开发语言·python