toolshed icon indicating copy to clipboard operation
toolshed copied to clipboard

Move to one-command-per-module for consistency

Open fhunleth opened this issue 5 years ago • 4 comments

Currently, some commands are in their own module and some are grouped together. Grouping commands together seemed helpful early on, but has caused confusion and debate as to where a new command should be put.

This is a placeholder issue for reviewing what the ramifications would be for moving every command to its own module and then doing it if it still seems like a good idea.

fhunleth avatar Mar 01 '21 14:03 fhunleth

It sounds like a great idea to me. It will help us discover modules easily. I have a feeling it will be more maintainable to have per-command modules in this project.

Even if a module is tiny, it would not hurt. When we find ourselves using similar functions again and again across different modules, we can just extract them as helpers.

mnishiguchi avatar Jun 29 '22 21:06 mnishiguchi

Yes, I'm 100% for this now. There's a small performance hit with slow Nerves devices and loading lots of BEAM files. However, I think that the answer is to fix the performance hit rather than try to coalesce functions into fewer modules. In case you're curious, https://github.com/erlang/otp/issues/5811 is probably the most promising optimization for this issue.

fhunleth avatar Jun 29 '22 23:06 fhunleth

Hi! I am starting with Nerves and I know Toolshed is going to be very useful in this long travel I decides to start. So I would like to help whenever I have free time and skills for the task.

This one seems a good starting point to contribute to the project. In my region is late, so I have not time now to check what modules require to split. But I want to offer my help. Do you have some list of the modules that needs to be splitted? If yes, I may can start today, if not, I will begin to check one by one.

I want to take advantage of thank to all contributors of this project!

ivanhercaz avatar Jul 31 '22 04:07 ivanhercaz

Hi Iván @ivanhercaz! Thanks for your offering us a helping hand. We really appreciate it.

For this particular issue, we have faced some tricky problems after making some tentative changes and we have not yet decided on our strategy. So unfortunately this issue is kind of on hold right now.

Other than this particular issue, we are open to add new convenient functions to Toolshed. If you have any ideas, please let us know!

Also across the whole Nerves project, we are attempting to improve our documentations for better noob accessibility and development experience. If you spot any room for improvement, that would be appreciated.

We are available at #nerves channel in Nerves Slack. It is a great community if you have not already joined.

mnishiguchi avatar Aug 01 '22 21:08 mnishiguchi

Closing since the last bits of this are in #168.

fhunleth avatar Jan 13 '23 21:01 fhunleth

Hi Iván @ivanhercaz! Thanks for your offering us a helping hand. We really appreciate it.

Wow! Really excuse me, @mnishiguchi. I really don't see this mention until now...

For this particular issue, we have faced some tricky problems after making some tentative changes and we have not yet decided on our strategy. So unfortunately this issue is kind of on hold right now.

Other than this particular issue, we are open to add new convenient functions to Toolshed. If you have any ideas, please let us know!

Nice! I am usually working a lot with Nerves, so I will keep this in mind!

Also across the whole Nerves project, we are attempting to improve our documentations for better noob accessibility and development experience. If you spot any room for improvement, that would be appreciated.

Same here!

We are available at #nerves channel in Nerves Slack. It is a great community if you have not already joined.

Thank you for the invitation! And, again, excuse me the very big delay...

ivanhercaz avatar May 02 '23 23:05 ivanhercaz