I like to try some Version Control Site. After some search. I found http://www.xp-dev.com/ and https://www.projectlocker.com/ looks good.
another choice,free svn/git : http://www.assembla.com/catalog/tag/free
I will test the speed and tools of the service and give report later.

In My previous job, I was using vss and svn same time for my project,,,I check in to Vss every day as my privite branch and update/check in to svn trunk for release (QA/Tesing) when a test completed.


And these are two SVN plugins for visual studio:


 1)Free svn visual studio extension (open source): http://ankhsvn.open.collab.net/downloads

 2) Visual svn ($49): http://www.visualsvn.com/

There are both good, but usually I think the tortoise svn is good enough.


3) Svn vs. Git

And there is comparison between couple popular version control tools:



As I know more and more projects teams moved from svn to git recently.

Git’s strong point is branch and merge.( http://carsonified.com/blog/web-apps/why-you-should-switch-from-subversion-to-git/ http://www.brandonsavage.net/git-versus-subversion-a-reconsideration/ )

I have no chance to use git yet, but almost all the people I know who used git recommend Git.  Since we only have one project in svn, maybe use Git  is good for us in the long term thought.


Just my two cents:

The svn,vss or Git are just tools,  the important thing is everybody follow the right procedure /rules. 



Categories: ProjectManagement

April 19, 2010
@ 09:45 AM
Last week someone asked me about "yield" that he saw in my blog. It is very embarrassed me, I totally forget what it is.
I can't keep the "yield" in my mind because it is not something like "what you see is what it is". it even didn't has "return" in the code scope, that make code not easy to read.  that new feature of c#3.0 need me more time to familiar with.

But the new feature "Default Parameter" in c# 4.0 give me some different feeling ,
This is something very nature and  very easy to use.

private void TestFunction(string username,bool isAdmin=false)
    //do something..

/// since have Default Parameter, this overLoad function is no more need
//private void TestFunction(string username)
//    TestFunction(username,false);
public void Test()


This will make you code cleaner and easier to read in many cases.

Categories: C#