Alpaca4610 / nonebot_plugin_nai3_bot

基于GPT4+NovelAI V3 / Stable Diffusion API,使用自然语言让NAI3出图的同时以自定义人格与用户聊天。同时支持随机画风生成和随机同人图生成。
9 stars 1 forks source link

提升代码质量 #6

Open Well2333 opened 1 month ago

Well2333 commented 1 month ago

如题所示,以我浅薄的开发经验,个人认为插件中存在大量不适宜的写法以及不合理的设计

  1. 代码中存在大量 try expect 用于捕获错误,但未能在日志中输出 traceback,这将严重阻碍用户自行判断问题所在,或提供相关的错误 https://github.com/Alpaca4610/nonebot_plugin_nai3_bot/blob/main/nonebot_plugin_nai3_bot/__init__.py#L152-L154 可以参考 https://github.com/Well2333/nonebot-plugin-bilichat/blob/master/nonebot_plugin_bilichat/base_content_parsing.py#L218 这样既可以捕获错误,也可以输出 traceback

  2. 请不要使用 print 而是使用 logger 来输出变量信息

  3. 如果需要存储数据,可以使用 localstore 插件来将文件存储至系统对应类型的数据文件夹 https://github.com/Alpaca4610/nonebot_plugin_nai3_bot/blob/main/nonebot_plugin_nai3_bot/__init__.py#L46

  4. 考虑适当拆分文件,例如将llm交互部分拆分到单独的模块

Well2333 commented 1 month ago

另外,可以通过 GitHub action 来自动将发行版发布至 pypi,可以参考

https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries

Alpaca4610 commented 1 month ago

感谢批评指正,我平常主要是帮群友快速实现上线机器人功能,所以复用了很多刚入门时写的屎山代码,有时候图方便用print调试代码忘记删掉了😂感谢大佬的提醒,等有时间我重构一下我的屎山代码。

wanghaisheng commented 1 month ago

我就会print。。well2333 大神指导的好