David_D wrote: ↑
Wed Mar 25, 2020 10:31 pm
- I'd prefer to work on Arch, IFC or BIM, but no biggie.
You should post in the Draft, Arch, IFC subforum. Actually not many people care about these workbenches in the general areas, because most people are creating 3D solids for manufacturing or 3D printing. However, the small group of people in the Draft/Arch/IFC section are very passionate about what they do.
Projects, yes, there are plenty of things you could do.
* Unit tests for the Arch workbench. The current unit tests are very simple, and don't test everything. We could use many more unit tests. Take a look at Draft's tests. We need something similar, structured in multiple modules.
* Add docstrings to every function. All functions and classes should have a documentation string so that they can be parsed and documented automatically by Doxygen. This is currently lacking. By adding docstrings you will little by little understand how the code is structured. Again, take a look at Draft, for example, draftutils/utils.py.
* Move the Gui Commands into individual modules. We don't want to have a single file with 5000 lines of code, which is why we must move code to individual modules. This is being done currently in Draft. Before, everything was inside DraftTools.py, and now we are placing pieces of it in separate files in draftguitools/gui_polararray.py, etc.
These tasks won't require you to code much, it will be more like detective work because you need to learn the structure, and understand how everything is connected. Then you can start moving things around. Just moving, splitting big files into smaller files will be beneficial to improve development and maintenance of these codebases.
See a general overview in [Discussion] Splitting Draft tools into their own modules