Replies: 1 comment
-
from wechat user talnex 主要问题是继承混乱,这个然后方法定义不明确。原则上java那种接口形式的是最清晰的,但python弱化了这种概念,这导致mmdet3d开发出来的代码把继承特性仅仅当作reuse来实用,导致继承极其混乱,哪些函数需要重写,使用者都不清晰(不像pytorch Module子类很明确重新forward就好,autograd.Fuction明确重新forward和backward)实用者需要阅读源码,极大增加学习成本和维护成本 先不说字典回溯困难。不论从任何角度,函数都应当仅接受自己操作的参数,字典这形式使得函数接收到本不属于自己的参数,使用者根本无法直观看出那些变量被修改,这种方式是很不安全的,而且*arg和**kwarg应该慎用,甚至不应当暴露给用户,这个参数同样会导致上述问题 我认为 mmdet3d并不是一个好的的 object-oriented 程序设计范例,虽然功能提供的很全面,但是感觉这种规模的团队不应该开发出这种学生级别的项目 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
OpenMMLab 2.0公测中文讨论区之MMDetection3D 1.1
Beta Was this translation helpful? Give feedback.
All reactions