# 需求-ai_rename_functions-功能拆分

`ai_rename_functions`包含`ai_rename_functions.sh`和`ai_rename_functions.py`两部分，特别是`ai_rename_functions.py`里面的功能太多挤到一块了，我期望拆分功能。

## 拆分方案
1. `ai_rename_functions.py`里面当前有两个功能，这两个功能单独拆分成新的脚本。拆分后的脚本先不考虑被IDA Pro这个UI调用，考虑太多容易出错。
2. 重新创建一个Python脚本，做统合入口：
   1. 能够通过命令行调用这两个功能。
   2. 这个新的脚本通过import的方式直接依赖它们的源代码。
   3. 命令行的命令要分组，例如：`--rename`后面跟随rename下面的所有子命令，`--commenter`后面跟随commenter的所有子命令。但是有些是通用的命令，如：文件的输入、干运行等。你要能区分出哪些是通用的那些是特定功能的。
3. 我盘了一下拆分后的逻辑，感觉shell脚本可能不需要了，你盘一下逻辑确认一下。
4. 这个工作做完后，应该不需要出现任何ai_rename_functions相关的文件，因为要么被拆分，要么要新写。

## 强制要求
1. 除了明确要求去掉的功能，其他的功能不能缺少。
2. 代码不能有问题。
3. 做好打印好日志，要有助于排查。控制台和日志文件中都要有日志输出。
4. 做好抽象，通用、类似的代码抽象到库类、库文件、库函数中。坚决避免通用、类似逻辑、变量散的到处都是。
5. 工作做完后要审计，是否有遗漏、是否有问题。
6. 工作做完后要添加新的README文件，告诉我如何使用。 
7. 这是一次示范性工程的工作，一定要有良好的架构设计，能够将后续的功能追加到架构中，而不需要再重构。

## 其他
如有疑问，你问我。