ModaOperandi / agora

Engineering standards
3 stars 1 forks source link

Should we include IDE-specific config in git repos? #69

Closed jackfarzan closed 3 years ago

jackfarzan commented 3 years ago

Context

Some repos contain files or folders specific to IDEs like VSCode or IntelliJ. Is this something that we should allow or disallow, or do we not care?

Proposal

We should disallow this practice.

Reasoning

Git best practices typically discourage local environment-specific files from being included in repositories in order to allow developers the flexibility to use whatever tools they desire. Either we require developers use specific IDEs, or we remove this config from our repos.

Possible Issues

This proposal may mean that developers may have to take some time to set up their local environments before building a freshly cloned repo. To help with this, all repos should have clear instructions in their Readmes, or optionally include a Makefile if the build process is very complex.

bjmiller commented 3 years ago

I strongly disagree with the proposal. Whether or not an individual repo includes developer settings should be a decision of the team that owns the project.

If a developer uses a tool that has a standardized configuration in a project, they should get the benefit of it. If another developer uses a different tool, they will not be affected by its presence one way or the other. The idea is that these settings are not environment-local, and sharing them helps enforce team and community guidelines in a project silently. The actual git best practice is to avoid including information such as a full path name on a specific machine - which would clearly break for any other machine.

As a replacement, a Makefile would essentially just carry the same information that the editor configuration file(s) would, but it includes extra runnable code that can fail.

ruxy commented 3 years ago

Decision today: we can decide at team-level. For Scala we will add those files to gitignore