-
Notifications
You must be signed in to change notification settings - Fork 6
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
Refactor to put DisplayI2C class in project #9
Comments
I see, what about a symbolic link? Could we use it in examples? How is it with a NuGet package, does a person (who wan to use this lib) get only the class or the whole git repo? |
In the examples we would just reference the project that the class is in, then use it as if it was a NuGet package. The NuGet package is based on the project, so they would just get the project with the one class in it. If they want the examples they would clone the repo which would contain all projects (main class proj and examples). |
But for that we have to publish is as a NuGet package right? Right now, I would just go for the simpiest solution - copy it around and when the refactoring (at least the main part) is done, then create the package and link it in the Examples. Originally, I didn't expect so many changes in the class - I considered it as, more or less, feature finished. So I just copied it. I think, we can proceed with this for a little while. It's not so much hassle. What do you think? |
So for someone to use the class now, they would have to clone the repo, copy the class and then add the class to their project. If they want to make changes to it, they have to copy those changes back to the repo folder, then git push. If we create the class in a project, when they clone the repo, they would then just Building the NuGet package is an afterthought, it's not needed for any of this. It's only needed if you want users to be able to use this class without cloning the repo. |
Hey, maybe we don't understand each other fully. I'm sorry because I don't know that much about C# (.NET) world - Anyway, I would like to change it :) I assume this is the docs of the feature you've mentioned: https://docs.microsoft.com/en-us/visualstudio/ide/how-to-add-or-remove-references-by-using-the-reference-manager?view=vs-2019 So how would you proceed? Can we use any other GitHub repo as an example for up? Can we create a structure like this:
What do you think? |
Here's a (large) example of one solution that has multiple projects in it. I think your structure looks great. We might want to mimic the example i linked and create src and example folders that then house the main project in the src folder, then one project for each example (3 projects in total) in the examples folder. Then we can just reference them and change each one independently. |
Yep, totally agree. Let's have a structure like this:
|
Perfect! I think that will make a huge difference. (I'm wanting to implement a scrolling feature when I get the time!) |
@DzeryCZ Now that I'm sitting down looking at this it's sort of hard to manage this stuff since it's not in a project/solution. It would make it a lot easier if you created a class library project
CharacterLcdOverI2C
to hold the DisplayI2C class and anything related to that, then aCharacterLcdOverI2C.Examples
project in the same solution to house the examples. That way, when someone wants to make a pull request or change an example they can just change one or the other.Right now it's hard for me to change the DisplayI2C class, switch to an example, copy the class, make changes, switch back, etc...
Thoughts?
The text was updated successfully, but these errors were encountered: