比如我需要定义一些 s3 常用的操作函数, 其他模块高度依赖这些函数, 我会把它封装成一个类放到某个文件内, 这样的函数和类在开发过程中非常多, 我观察了下我接触过的项目, 大致分为这两种派系.
创建一个文件比如tasks.py
, 好处是需要什么函数直接 import 就行了, 缺点是这个文件非常大, 超过了 5000 行, import 很容易 import 半天
创建一个tasks
文件夹, 比如我定义了一个 s3 操作类, 就创建一个s3_operation.py
放到这个文件夹内.
缺点是不太容易定位, 搜索某个函数需要整个目录搜索, 对于开发不太友好.
1
abersheeran 2020-12-29 09:14:31 +08:00
第一种第二种都可。现代编辑器的搜索功能,单文件内和整个文件夹内都是一样好用、快速的。
|
2
whileFalse 2020-12-29 09:22:31 +08:00
先放到一个文件里。如果日后觉得这个文件太长 就重构掉。
|
3
kiracyan 2020-12-29 09:27:22 +08:00
放文件夹就按功能分类
|
4
annielong 2020-12-29 11:15:02 +08:00
少了一个文件,多了按功能分文件夹
|
5
lalawac 2020-12-29 11:40:52 +08:00
Snippets 你这的拥有
|
6
xzysaber 2020-12-29 12:44:57 +08:00
“超过了 5000 行, import 很容易 import 半天”,只针对这句话。
5000 行就很慢了吗(虽然太长确实不好)? peewee 7000 多行也很快啊,而且只会 import 一次。 |
7
loliordie OP @xzysaber 整个文件因为涉及的类多 在 import 这个文件时会把依赖都 import 一遍 尤其在涉及某些机器学习和计算类的库时 很容易导致 import 半天然后丢出一大堆 warning 的情况 尤其是在开发习惯不好时更容易出这个问题 自己用还好 在自动化部署时很浪费资源
|
8
xuanbg 2020-12-29 15:27:54 +08:00
按功能分类,每类一个文件。譬如加解密一个文件,json 一个文件,杂七杂八的一个文件
|
10
secondwtq 2020-12-29 19:28:58 +08:00
你好,我写 JavaScript 的,每一个函数都会单独做成一个 npm 包
|