开发者

Does it make sense to store IDE specific files as part of source code

开发者 https://www.devze.com 2023-03-24 15:36 出处:网络
We are starting on a new project and would like to know if we need store Ecipse IDE specific files (.settings, .project, .classpath) as part of our source tree. Should we ask each developer to 开发者_

We are starting on a new project and would like to know if we need store Ecipse IDE specific files (.settings, .project, .classpath) as part of our source tree. Should we ask each developer to 开发者_JS百科create these files via the "mvn eclipse:eclipse" command or should we check it in for them. What would be the best practice here


We store them in Git, because we want every developer to work with the same environment. If you let every developer create their own project configuration, and have no other control about the configuration they use, you may end up with different configuration that leads to failures.


The major advantage of keeping IDE/environment configuration files in source control is to standardize your development environment.

Having a standardized environment confers several advantages:

  • Your environment and tool-set become familiar to all.
  • Common issues are well known and documented.
  • Easy learning curve for new developers (perhaps even a 'setup document').

Of course, there are also disadvantages:

  • By forcing your developers to code a certain way, you may be decreasing their productivity. For example, I'm most experienced with Eclipse. Sure, I could use NetBeans but I wouldn't be as efficient.
  • Developers may become less exposed to new tools/ideas/technology. For example, I use Eclipse primarily but I switch to NetBeans for profiling and IntelliJ for editing EJB configuration.

One of the better policies I've seen is "Hey, we're a Windows/Eclipse shop. You can use [insert your favourite OS/Tool/Technique here] if you like but you must be competent enough to fix your own problems".

This outlook seems to get the best of both worlds; the majority of developers will stick to the standard, document bugs, produce setup documentation etc. However, a small body of (usually senior) developers will go off and do their own thing, discover cool new tools and perhaps incorporate them into your standardized environment.

0

精彩评论

暂无评论...
验证码 换一张
取 消