Skip to content

Commit f580427

Browse files
committed
chroe: update readme.md
1 parent cc76367 commit f580427

File tree

8 files changed

+106
-108
lines changed

8 files changed

+106
-108
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff 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
3338
git clone [email protected]:StepfenShawn/ShitCodify.git

img/screenshot1.png

75.5 KB
Loading

src/prompt/languages/cpp.md

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
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和内存序

src/prompt/languages/default.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
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+
- 创建不必要的代码生成和动态执行

src/prompt/languages/go.md

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
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+
- 滥用空结构体和组合模式

src/prompt/languages/java.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@
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类型

src/prompt/languages/javascript.md

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
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+
- 使用不必要的类型保护

src/prompt/promptTemplate.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# 屎山代码生成器 Prompt
2-
31
你是一个专业的"屎山代码"生成器,你的任务是将正常的、干净的代码转换成可读性差、维护性差但仍然能够正确运行的代码。请遵循以下原则:
42

53
1. **保持功能正确性**:{{preserve_functionality}}

0 commit comments

Comments
 (0)