rongchenlin / BiliBili-Lucky-Draw

B站抽奖转发——薅羊毛脚本 : 一个小脚本能够帮助你去看看B站上面今天有哪些Up有抽奖活动,然后还能帮助你自动进行抽奖(转发动态+关注),毕竟抽奖总得试试吗,万一中奖了呢
GNU General Public License v3.0
353 stars 46 forks source link

[建议] 赠项目主的一些小issus #26

Closed iridescentGray closed 8 months ago

iridescentGray commented 8 months ago

楼主的python代码Java味很浓(😆),dao,service都是Java味 回到正题

关于项目

  1. DockerFile中,使用python的具体版本例如python:3.11.7-slim-bookworm ,而不是python:3 ,因为可以限定并且让使用者知道当前代码的具体版本 ,此外,最好在Readme中,说明当前项目支持的python版本
  2. requirements.txt 编写时,最好不要导出当前python环境中的依赖,而是精简到具体用到依赖
    • 当前项目具有40个依赖,复杂度高,不易一眼看出用了什么依赖。
    • 此外还有pydantic 这种,项目中没有明确import的依赖,容易混淆

关于数据库

  1. 考虑是否有必要使用mysql,是否能用sqlite代替mysql,这种轻量级数据库,能减轻内存占用,加快构建速度,简化配置等
  2. 考虑引入ORM框架,可以解决项目中需要手动执行init_db_script.sql 脚本的问题,此外还能以对象操作代替手写SQL

关于selenium

  1. webdriver-manager 这个项目可以管理chrome驱动,也许不用把chromedriver.exe放到项目中。例子如下:
  1. selenium/standalone-chrome:latest 这个镜像不支持mac/arm,我的mac跑不起来🫠,如果你感兴趣,可以来玩玩playwright,playwright对于docker的支持还可以,不过我觉得可能selenium也能实现类似的效果,下面是playwright能够支持arm系统的Dockerfile

感谢你的开源项目,祝你生活顺利

rongchenlin commented 8 months ago

好的,非常感谢大佬的指教,后续有空闲时会慢慢优化的。