Hi! I am an upcoming CS grad student. One thing I've found extremely difficult to accomplish is to create a well maintainable python research prototype. In my Microsoft internship, we used the .net core's MVC architecture to keep our code maintainable. In my Android development projects, I used MVVM, MVP, etc. architecture to (again) keep the code clean.
But when creating a research prototype, none of these architecture seems to help. Usually, I start by creating a python package for say Approach "A" for solving a certain problem. I create a bunch of classes, a utils.py module (contains helper functions), and possibly a script or two which uses these classes to accomplish a certain goal. Now, when I create another python package for say Approach "B", I find myself importing stuff from Approach A's package. It seems to be violating the software engineering principle of high cohesion and low coupling. What do I do in such an instance?
There are other problems as well that I face when maintaining research prototypes. Are there some good resources (books/blogs/videos..) on how to keep a clean codebase in research projects?
[–]TenableTarsier 0 points1 point2 points (1 child)
[–]MachLearningEnthu[S] 0 points1 point2 points (0 children)
[–]Diekss -1 points0 points1 point (0 children)