Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to one-command-per-module for consistency #60

Closed
fhunleth opened this issue Mar 1, 2021 · 6 comments
Closed

Move to one-command-per-module for consistency #60

fhunleth opened this issue Mar 1, 2021 · 6 comments

Comments

@fhunleth
Copy link
Collaborator

fhunleth commented Mar 1, 2021

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 fhunleth changed the title Move to one-command-per-module for consistent Move to one-command-per-module for consistency Mar 8, 2021
@mnishiguchi
Copy link
Contributor

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.

@fhunleth
Copy link
Collaborator Author

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, erlang/otp#5811 is probably the most promising optimization for this issue.

@ivanhercaz
Copy link

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!

@mnishiguchi
Copy link
Contributor

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.

@fhunleth
Copy link
Collaborator Author

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

@ivanhercaz
Copy link

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...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants