屎山代码工程学

屎山代码工程学

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

菜鸟篇

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

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

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

2.不要加任何注释

高手篇

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

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

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

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

相关推荐
打码人的日常分享2 分钟前
企业人力资源管理,人事档案管理,绩效考核,五险一金,招聘培训,薪酬管理一体化管理系统(源码)
java·数据库·python·需求分析·规格说明书
27669582923 分钟前
京东e卡滑块 分析
java·javascript·python·node.js·go·滑块·京东
爱写代码的刚子4 分钟前
C++知识总结
java·开发语言·c++
冷琴199612 分钟前
基于java+springboot的酒店预定网站、酒店客房管理系统
java·开发语言·spring boot
daiyang123...38 分钟前
IT 行业的就业情况
java
爬山算法1 小时前
Maven(6)如何使用Maven进行项目构建?
java·maven
.生产的驴1 小时前
Electron Vue框架环境搭建 Vue3环境搭建
java·前端·vue.js·spring boot·后端·electron·ecmascript
爱学的小涛1 小时前
【NIO基础】基于 NIO 中的组件实现对文件的操作(文件编程),FileChannel 详解
java·开发语言·笔记·后端·nio
吹老师个人app编程教学1 小时前
详解Java中的BIO、NIO、AIO
java·开发语言·nio
爱学的小涛1 小时前
【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解
java·开发语言·笔记·后端·nio