我想听听您关于在代码库中命名文件和文件夹的想法。 假设我们在付款范围内定义了不同的供应商服务(paypalService,stripeService等)和退款服务。 考虑付款目录中的以下结构:
monolith
|
└--payment
│ __init__.py
│ views.py
│ tasks.py
└───services
│ │ __init__.py
│ └───refund
│ │ __init__.py
│ │ main.py
│ │ utils.py
│ └───vendors
│ │ __init__.py
│ └─── stripe
│ │ __init__.py
│ │ main.py
│ │ utils.py
│ └─── paypal
│ │ __init__.py
│ │ main.py
│ │ utils.py
│ └─── adyen
│ │ __init__.py
│ │ main.py
│ │ utils.py
在此结构中,文件名本身并不代表任何内容(例如main.py
),但是当我们查看全名时,包括文件夹,例如(monolith/payment/services/refund/main.py
)这个main.py名称确实表示给定模块包含其所在服务目录的主要部分。同样的想法适用于所有文件:每个模块的完整路径清楚地描述模块的内容。
有人认为__init__.py
是放置主模块类的合适位置,但是我对此进行了研究,因此无法碰到这种用例。 __init__.py
的AFAIK可能的用例是定义如何将目录作为软件包提供给外部世界,例如在我的文件中定义__all__
对我来说很有意义。
我想到了这个想法(init,main,utils trio)来构造服务目录,我想听听您的想法。所有具有类似名称的文件(例如main,utils)都让我有些痒。这是不好的做法吗?构建此类服务目录的替代方法有哪些?
假设:
- 让我们假设每个模块应具有其自己的特定utils。
- 服务模块足够大,可以为其创建一个程序包并将其拆分为“ utils”,“ mixins”,“ main”等模块。
任何阅读有关此问题的最佳实践的资源也将不胜感激!