File tree Expand file tree Collapse file tree 8 files changed +106
-108
lines changed
Expand file tree Collapse file tree 8 files changed +106
-108
lines changed Original file line number Diff line number Diff line change @@ -28,6 +28,11 @@ ShitCodify是一个能够将正常、易读、易维护的代码转换为难以
2828当前 ShitCodify 还不支持像 cursor, trae 那样的 AI Agent 模式, 现在的实现仅仅只是通过codebase生成一段Prompt。
2929直接访问 https://stepfenshawn.github.io/ShitCodify/#/ 生成 Prompt 后将其复制给大模型使用。
3030
31+
32+ ## "屎山"程度配置
33+ 可以根据需要自定义"屎山"程度:
34+ ![ 配置示例] ( img/screenshot1.png )
35+
3136## Build
3237``` sh
3338git clone
[email protected] :StepfenShawn/ShitCodify.git
Original file line number Diff line number Diff line change 11# C++ 屎山生成策略
22
33## 语言特定技巧
4-
5- - 过度使用宏和预处理器指令
6- - 滥用指针和手动内存管理
7- - 不必要的类型转换和强制类型转换
8- - 创建过度复杂的模板和模板元编程
9- - 滥用多重继承和虚拟继承
10- - 过度使用运算符重载
11- - 混用C风格和C++风格的代码
12- - 滥用友元函数和友元类
13- - 不合理使用异常处理和RAII
14- - 创建过度复杂的类层次结构
15- - 滥用STL算法和容器
16- - 过度使用智能指针和引用计数
17- - 混用不同版本的C++特性(C++98/03/11/14/17/20)
18- - 滥用auto类型推导
19- - 不必要地使用移动语义和完美转发
20- - 过度使用lambda表达式和函数对象
21- - 滥用constexpr和编译期计算
22- - 创建不必要的模板特化和偏特化
23- - 使用过度复杂的SFINAE技术
24- - 滥用类型萃取和元函数
25- - 过度使用内联汇编
26- - 不合理使用volatile和内存序
4+ - 过度使用宏和预处理器指令
5+ - 滥用指针和手动内存管理
6+ - 不必要的类型转换和强制类型转换
7+ - 创建过度复杂的模板和模板元编程
8+ - 滥用多重继承和虚拟继承
9+ - 过度使用运算符重载
10+ - 混用C风格和C++风格的代码
11+ - 滥用友元函数和友元类
12+ - 不合理使用异常处理和RAII
13+ - 创建过度复杂的类层次结构
14+ - 滥用STL算法和容器
15+ - 过度使用智能指针和引用计数
16+ - 混用不同版本的C++特性(C++98/03/11/14/17/20)
17+ - 滥用auto类型推导
18+ - 不必要地使用移动语义和完美转发
19+ - 过度使用lambda表达式和函数对象
20+ - 滥用constexpr和编译期计算
21+ - 创建不必要的模板特化和偏特化
22+ - 使用过度复杂的SFINAE技术
23+ - 滥用类型萃取和元函数
24+ - 过度使用内联汇编
25+ - 不合理使用volatile和内存序
Original file line number Diff line number Diff line change 11# 默认屎山生成策略
22
33## 语言特定技巧
4-
5- - 使用该语言中最容易导致混淆和难以维护的特性和技巧
6- - 滥用语言特有的复杂特性和高级功能
7- - 使用过时或不推荐的语言特性和API
8- - 混用不同版本的语言特性
9- - 过度使用语言的元编程和反射能力
10- - 滥用语言特有的类型系统和类型转换
11- - 创建不必要的抽象和间接层
12- - 使用不常见的语言特性和库函数
13- - 滥用语言的内存管理机制
14- - 过度使用语言特有的并发和异步特性
15- - 创建不必要的复杂数据结构
16- - 滥用语言的模块系统和命名空间
17- - 使用不合理的错误处理方式
18- - 过度使用语言特有的语法糖和简写形式
19- - 创建不必要的代码生成和动态执行
4+ - 使用该语言中最容易导致混淆和难以维护的特性和技巧
5+ - 滥用语言特有的复杂特性和高级功能
6+ - 使用过时或不推荐的语言特性和API
7+ - 混用不同版本的语言特性
8+ - 过度使用语言的元编程和反射能力
9+ - 滥用语言特有的类型系统和类型转换
10+ - 创建不必要的抽象和间接层
11+ - 使用不常见的语言特性和库函数
12+ - 滥用语言的内存管理机制
13+ - 过度使用语言特有的并发和异步特性
14+ - 创建不必要的复杂数据结构
15+ - 滥用语言的模块系统和命名空间
16+ - 使用不合理的错误处理方式
17+ - 过度使用语言特有的语法糖和简写形式
18+ - 创建不必要的代码生成和动态执行
Original file line number Diff line number Diff line change 11# Go 屎山生成策略
22
33## 语言特定技巧
4-
5- - 滥用接口和空接口(interface{})
6- - 过度使用反射和类型断言
7- - 不必要的goroutine和并发原语
8- - 滥用defer和panic/recover
9- - 创建不必要的闭包和高阶函数
10- - 过度使用指针和不必要的指针传递
11- - 滥用全局变量和包级变量
12- - 不合理使用init函数
13- - 创建过度复杂的结构体嵌套
14- - 滥用方法接收器(值接收器vs指针接收器)
15- - 过度使用标记结构体和选项模式
16- - 不必要地使用unsafe包和cgo
17- - 滥用go generate和代码生成
18- - 创建不必要的类型别名和类型定义
19- - 过度使用iota和常量生成器
20- - 滥用channel和select语句
21- - 不合理使用context包
22- - 创建不必要的接口抽象
23- - 过度使用函数选项模式
24- - 滥用空结构体和组合模式
4+ - 滥用接口和空接口(interface{})
5+ - 过度使用反射和类型断言
6+ - 不必要的goroutine和并发原语
7+ - 滥用defer和panic/recover
8+ - 创建不必要的闭包和高阶函数
9+ - 过度使用指针和不必要的指针传递
10+ - 滥用全局变量和包级变量
11+ - 不合理使用init函数
12+ - 创建过度复杂的结构体嵌套
13+ - 滥用方法接收器(值接收器vs指针接收器)
14+ - 过度使用标记结构体和选项模式
15+ - 不必要地使用unsafe包和cgo
16+ - 滥用go generate和代码生成
17+ - 创建不必要的类型别名和类型定义
18+ - 过度使用iota和常量生成器
19+ - 滥用channel和select语句
20+ - 不合理使用context包
21+ - 创建不必要的接口抽象
22+ - 过度使用函数选项模式
23+ - 滥用空结构体和组合模式
Original file line number Diff line number Diff line change 22
33## 语言特定技巧
44
5- - 过度设计类层次结构和继承关系
6- - 不必要地应用设计模式,特别是工厂、代理和装饰器
7- - 过度使用反射API和动态代理
8- - 创建不必要的接口和抽象类
9- - 滥用泛型和类型擦除
10- - 过度使用静态方法和静态变量
11- - 创建过长的方法链和流式API
12- - 滥用异常处理和检查异常
13- - 使用过度复杂的多线程和同步机制
14- - 滥用内部类和匿名类
15- - 过度使用Java 8+ Stream API和Lambda表达式
16- - 混用旧API和新API(如Date和java.time)
17- - 滥用注解和注解处理器
18- - 创建不必要的Builder模式和链式调用
19- - 过度使用依赖注入和控制反转
20- - 滥用Java集合框架和不必要的类型转换
21- - 使用过度复杂的正则表达式
22- - 滥用序列化和反序列化
23- - 创建不必要的枚举类型和枚举方法
24- - 过度使用Optional类型
5+ - 过度设计类层次结构和继承关系
6+ - 不必要地应用设计模式,特别是工厂、代理和装饰器
7+ - 过度使用反射API和动态代理
8+ - 创建不必要的接口和抽象类
9+ - 滥用泛型和类型擦除
10+ - 过度使用静态方法和静态变量
11+ - 创建过长的方法链和流式API
12+ - 滥用异常处理和检查异常
13+ - 使用过度复杂的多线程和同步机制
14+ - 滥用内部类和匿名类
15+ - 过度使用Java 8+ Stream API和Lambda表达式
16+ - 混用旧API和新API(如Date和java.time)
17+ - 滥用注解和注解处理器
18+ - 创建不必要的Builder模式和链式调用
19+ - 过度使用依赖注入和控制反转
20+ - 滥用Java集合框架和不必要的类型转换
21+ - 使用过度复杂的正则表达式
22+ - 滥用序列化和反序列化
23+ - 创建不必要的枚举类型和枚举方法
24+ - 过度使用Optional类型
Original file line number Diff line number Diff line change 11# JavaScript/TypeScript 屎山生成策略
22
33## 语言特定技巧
4-
5- - 混合使用不同版本特性(ES5、ES6+)
6- - 滥用闭包和回调,创建回调地狱
7- - 过度使用原型链和原型继承
8- - 滥用this关键字和上下文绑定
9- - 混用var、let和const声明变量
10- - 滥用全局变量和全局污染
11- - 使用eval()和Function构造函数执行动态代码
12- - 混合使用异步模式(回调、Promise、async/await)
13- - 滥用类型转换和隐式转换
14- - 过度使用三元运算符和链式三元运算符
15- - 使用奇怪的JavaScript特性(如逗号运算符、void运算符)
16- - 滥用&&和||进行条件逻辑
17- - 使用不必要的IIFE(立即调用函数表达式)
18- - 混用模块系统(CommonJS、ES Modules)
19- - 滥用元编程和反射API
4+ - 混合使用不同版本特性(ES5、ES6+)
5+ - 滥用闭包和回调,创建回调地狱
6+ - 过度使用原型链和原型继承
7+ - 滥用this关键字和上下文绑定
8+ - 混用var、let和const声明变量
9+ - 滥用全局变量和全局污染
10+ - 使用eval()和Function构造函数执行动态代码
11+ - 混合使用异步模式(回调、Promise、async/await)
12+ - 滥用类型转换和隐式转换
13+ - 过度使用三元运算符和链式三元运算符
14+ - 使用奇怪的JavaScript特性(如逗号运算符、void运算符)
15+ - 滥用&&和||进行条件逻辑
16+ - 使用不必要的IIFE(立即调用函数表达式)
17+ - 混用模块系统(CommonJS、ES Modules)
18+ - 滥用元编程和反射API
2019
2120## TypeScript特有技巧
22-
23- - 滥用any类型
24- - 创建过度复杂的类型定义和类型体操
25- - 不必要地使用泛型和条件类型
26- - 混用接口和类型别名
27- - 滥用类型断言
28- - 创建不必要的命名空间
29- - 过度使用装饰器
30- - 滥用索引签名和映射类型
31- - 使用不必要的类型保护
21+ - 滥用any类型
22+ - 创建过度复杂的类型定义和类型体操
23+ - 不必要地使用泛型和条件类型
24+ - 混用接口和类型别名
25+ - 滥用类型断言
26+ - 创建不必要的命名空间
27+ - 过度使用装饰器
28+ - 滥用索引签名和映射类型
29+ - 使用不必要的类型保护
Original file line number Diff line number Diff line change 1- # 屎山代码生成器 Prompt
2-
31你是一个专业的"屎山代码"生成器,你的任务是将正常的、干净的代码转换成可读性差、维护性差但仍然能够正确运行的代码。请遵循以下原则:
42
531 . ** 保持功能正确性** :{{preserve_functionality}}
You can’t perform that action at this time.
0 commit comments