Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Inside my development team there are a lot of tooling/utility scripts around all members. Those scripts are mainly for specific tasks and shouldn't be part of our SCM (perforce).

How should we organize those tooling scripts and snippets to spread them and let other members have access to them? Are there any good tools to share, organize and documentate scripts and snippets inside a team?


share|improve this question

closed as primarily opinion-based by Ixrec, GlenH7, Dan Pichelman, Bart van Ingen Schenau, MichaelT Jan 18 at 15:55

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Since these scripts will have multiple users, and multiple developers, they are a software product, and would benefit from the same tools and techniques you use for any other software product -- especially, from storing them in your version control system. (Most of these tools and techniques have value even for things you write for yourself, but the stakes are lower.)

Because the customers of this product are few, and intimately familiar with it, you may not need the same level of polish as on your main development efforts, it's true -- but when it comes to the basics (clean design, use a VCS, implement tests, and document how to use each tool), the same arguments apply as for any other piece of software.

share|improve this answer
Ok, sounds reasonable. Of cause the scm is the best place for code so for scripts and tools. I was hoping to find something which supports the dev in documentation and all the stuff no one really likes. Snippely is a code tool, but not collaborative. – Nils Jan 24 '13 at 22:51

I'm not sure where you got it into your head that they shouldn't be part of source control, but that's by far the best place if the primary users are other developers. We have a tools directory at the top level of our perforce depot for precisely that purpose, and that's a fairly common practice. It's a good distribution environment because everyone is already using it.

Another good place to share certain kinds of scripts is on a web server. I found this out sort of by accident when I got tired of doing a certain calculation over and over, and decided to make a utility script to help me out. Since I do embedded software, I don't have a development environment for desktop software already installed, so I used what was at hand and threw some JavaScript into an html file I could run in my browser. Someone else wanted to use it, so we put it on an internal web server, and several months later I found out people throughout my company were using it regularly. A web server is a good distribution environment because everyone already has all the dependencies installed, and you just have to give them a URL.

share|improve this answer

In a similar situation my team defined a helper-project and collects all the utility scripts in this 'project'.

It is not part of the official distribution, but is is under version control and all developers have access to it.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.