开发者

Is there a tool for Visual C++ or other IDE, that would allow more than 1 programmer (online), to work on the same project, at the same time?

So is there a way I can share whole environment, edit, compile and execute my code in one mutual window with my friend-programmer being 200 miles away from me ? For example, I start an onl开发者_如何学JAVAine session, my friend joins it and his IDE synchronizes all settings and project/source files for this session with mine, so we can both work on the same project in real-time through net.

Is it even possible ?


Collaborative development is normally done through a software configuration management or version control system such as Subversion, PVCS, StarTeam, MKS, SourceSafe, CVS or any number of other options of varying cost and sophistication.

The way this typically works is that each developer checks out the code and project configuration files from the repository, works on them locally and commits changes to the repository from where other developers. This is traditionally done by developers locking the files they are working on so that other developers cannot commit changes until the 'owner' has released the file. However Subversion takes a different philosophy (although you can still lock files); it allows any number of developers to make local modifications to a file simultaneously and then uses three-way merging to merge changes to the repository. This works well if communication and project control is good, but if two developers fix the same problem in two different ways, you could end up with two fixes for the same problem. It also works fairly well with the XML format project files that VC++ uses. Any SCM will support branching and branch merging, so rather than have a free-for-all on the trunk code, individual developers may work on a branch, and then each branch might be periodically merged with the trunk code when it is verified and approved by the team leader.

However while this is the normal method of collaborative development, especially when geographically distributed, it is not exactly what you asked for. That said, I strongly suggest that you consider the more conventional way of working; especially if the developers are in vastly different time-zones.

If on the other hand you essentially want to have two developers working together on the same code at the same time, as in "pair programming", but geographically distributed, then I suggest that you simply use some sort to remote access tool such as the free version of LogMeIn which as well as allowing remote and simultaneous control of a PC, it has IM type communication, although you might also use it in conjunction with something like Skype with a voice or video connection to be somewhat more productive.


I can't see how this could possibly work well. Presumably you'd have to have your own intermediate directories where your output files went. If you both wrote object files to the same folders then that would be a disaster.

How would you synchronize? One of you, person A, starts to compile but person B carries on editing. What version of the file that B is editing does A's compile use? Would B be blocked from editing just because A was compiling?

This would require significant support from tool vendors and I can't imagine that ever happening because nobody would want to use it.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜