I followed Blender Addon tutorial and now understand better how addon structure works but I also saw that it is not possible to have two version of blender bim addon installed (eg. one in /usr/share/blender/2.90/scripts/addons/blenderbim and one in ~/.config/blender/2.90/scripts/addons/blenderbim) because they have the same folder name. However changing folder name to blenderbim_dev seems to be enough. Is it the best way to have a dev and stable version of an addon alongside ?
Changing code without restarting Blender (external editor)
I noticed that if I make some change on code base I need to restart Blender to see effects. Unload/reload seems to be not sufficient. Is there a way to work on addon code base without having to restart Blender to have you modification taken in account ?
Addon remote debugging (external editor)
I think I saw some videos for external debugging I will search for it except some one can explain how to debug remotely a blender addon. This is pretty much related the previous version as you often need to add some code somewhere for remote debugging.
Control Blender remotely
Is it possible to control Blender remotely. If so, how ?
as long as they are not enabled at same time (leading in class names registration clash) you may simply use 2 folders at same location but with different names.
/blenderbim_dev
/blenderbim
Restart
It is the safest way to ensure python cache of sub modules are properly updated.
Remote debugging
There is an addon from JacquesLuke for Visual Studio Code, basically loading blender on the fly with your addon, solving both debug and restart issues.
I also found a great and fresh introduction to python coding in Blender :
And a good introduction to Blender code structure in C. Code is beautiful and well structured. First time something make me want to learn C (not sure it will happen for real although :-) ) :