Kyle-Pu / Mathematics

Various math formulas coded in Java to help students all across the world!
MIT License
40 stars 59 forks source link

Add .gitignore file + remove *.class files #91

Closed enimiste closed 3 years ago

enimiste commented 4 years ago

Only java source code files should be pushed to this repository. Maybe you should add this guideline to the contribution guide.

jwheeler31 commented 4 years ago

I added a significant amount of entries to .gitignore in pull request 92 (and ignored/removed .class files). I think it'll cover this PR.

enimiste commented 4 years ago

I checked your PR; It consist of a lot of changes and an over defined .gitignore file that cover a lot files extensions that are out of java project context (.iso, .tar, ....).

NB :

i think that PR should handle one atomic change and not many changes (New files, Code formatting, ....). Because a big PR may contains some stuff that should be merged and another one that shouldn't.

Thanks

jwheeler31 commented 4 years ago

Even if I completely delete the .gitignore, this project needs a build system. Individuals can still compile in their own directories (Java will always support that), but if it's going to really grow, it needs, among other things, dependency management. I'll also argue that archives should be excluded from commits (jar, tar, zip, etc)

enimiste commented 4 years ago

I agree with you, Because with the actual structure it is hard to work on it on IDE,

jwheeler31 commented 4 years ago

I also understand the need to keep things simple per PR. That's the whole point. However, a single commit for each of the following is dumb:

VisualStudioCode, SublimeText, Eclipse, Windows, archives, Emacs, Microsoft Office temporary files, macOS, Java, JetBrains IDEs, Xcode, VisualStudio IDE, Maven, images

While it's easy to see this as overkill, I know that "beginners" (those for who this project is intended) will use anything they like and will most likely not know how to keep the repo clean. This is a precautionary measure. If you think that any of the above should be excluded, I'm all ears.

I am also forced to wonder if it's worth putting in the amount of initial effort to get this seriously cleaned up when there are 12-day-old PRs...

jwheeler31 commented 3 years ago

By the way, @Kyle-Pu, was this ever addressed, or is this repository dead?

marekpinto commented 3 years ago

Hey @jwheeler31 ! Thanks for bringing this back up again. This repository is back under active moderation again. I've talked to Kyle, and we'll merge the pull request.

jwheeler31 commented 3 years ago

Awesome!

A follow up - is there a desire to add a build system to this project? I do not recommend Ant (does the job, but isn’t mainstream anymore). I haven’t used Gradle, but I’m decent with Maven.

The upsides of a build system are: simplified builds (new programmers, see: compilation), simple IDE setup, use of other open source libraries, and ease of quality control (unit tests/code coverage/etc) amongst other things (this assumes that it sticks to one compiled language - I’d recommend that differing languages be separated into their own repos). The downside is that it requires a large PR as it requires reorganization of the project, which results in package name changes and imports.

Addendum: this will, honestly, be the only way to bring in other community members - especially the future plan of making a front-end is to be taken seriously.