What are Source Code Control(SCC) and Subversion(SVN)?

When you work with other people, you need to either share your code or modify your code with them. SCC will be the good tool for doing this. For instance, you are working on A part and your partner is working on B part of the code. SCC system will merge your work and your partner work automatically. SVN is the one of the SCC tool.

What benefits we have with SVN?
1. Time saving
When I worked on iteration 2, I had quiz and assignments from other classes. I was busy, so I couldn't see partner many times unlike when I worked on iteration 1. However, we finished iteration2 successfully by using SVN. Since I can do it anytime, when I have a time, I could do my part without meeting with my partner.
2. Easy to modify and combine
As I mentioned on the top, when you work on project with other people, SVN helps that you and your team members work on it individually. If someone doesn't like your part, he or she can simply change and commit that.
3. Speed
If I can work with my partner all the time, that might be the best way to speed up. Actually, when I work on iteration1, I spent many times with my partner, so when I have some problem, I could figure that out fast. However, it takes longer to finish iteration2 since I couldn't meet him many times. I think SVN can be the alternative way for people who work on project, but don't have enough time to meet their team members.
4. Save your gas
You can do your part and leave comment, so your partner can know what is going on and help you if you make some mistake. That means you don't have to see your partner when you need to ask something. I'm not saying simple problem. Sometimes you need to show your whole code to ask. In that case, you need to see your partner. I live out of campus, for example, so if I have something to ask, I have to drive to campus. After using SVN, my partner can simply check code at home.

What disadvantages we might have with SVN?
1. Conflict
Writing assignment 2 gave me horrible memory. After finishing writing, I made folder blog_02, put preview file, and added and committed them. I thought I am done, but I realized that the folder name is blog_2 not blog_02. I knew it is not big deal, but it is not hard to change either. I renamed my blog_02 to blog_2 and a night mare was started. It took about two hours to solve that.
2. Uncomfortable for the first time
I used to use MSN messenger for doing team project. I think it was good enough for my level. I mean team project asked some parts of the whole code. It was not long code. I felt like I'm working on it with my team member. When I use SVN for the first time, I missed direct feedback from team member like when I used messenger and I had to spend some time especially when I made mistake.

I think this is good to know when people use SVN. (This is useful information from lecture slide)
Subversion merge and conflict resolution

There is the opportunity for conflicts between changes
made by different team.

We'll enact a simple scenario to show what can go right
and what can go wrong when different team members
commit altered versions of the same file.

You can try similar experiments on your own to
understand this process.
Resolving conflicts

% svn resolved Number.txt

We need to tell Subversion that a conflict it detected has been
Once resolved, we can commit the change.



Today, I'd like to write about teamwork. When I work with partner for project1, I really had no idea what I need to do. I'm not good at C and C++. My partner knows how to read and write C and C++ code, so it was really good to work with him. I had these benefit with teamwork.

  1. Skills
  2. Someone is good at listening and you might be good at swimming. Although we are taking same classes, my classmates and I probably have different skills. As I mentioned above, I'm not good at C and C++. My partner has good skill of them. So, he writes a code and I help him something like fixing errors, finding something in textbook, or sharing my note(I'm good at taking a note).
  3. Ideas
  4. Everyone has different background, personality, and knowledge. That means everyone thinks different way and create a variety of ideas. Sometimes I might have a good idea or my partner might have a good idea, so we can share our thinking and make better result. Sharing ideas also can improve your idea more useful. You, for instance, want to make program for washer. You will make functions called wash, rinse, and dry. You will think 'This is perfect'. If you share your idea with your partner, your partner will be able to give you some feedback like "I want my washer has water temperature controller.", "I have many sweaters, so I want a power controller." something like that.
  5. Friend
  6. I think this is the best benefit. When I took CSCI 2011 class, my professor said "You might think discussion class is useless and you can work yourself. However; working a project with someone helps you learn faster and have a friend. I saw many students studied together until they graduated. " The class was hard for me, but because I had good group members, I could finish that course successfully. I'm still keep in touch with them and I will take other classes with them later. If you know one more person than others, you will get at least twice more information during your life.
  7. Cooperation
  8. Many programmer work on a project together in real world since it is huge usually. If we don't know how to cooperate with others, then it will be hard to get a job. One of the benefit of teamwork in school is learning how to work with someone, share your thinking or idea with your team members. It is important thing for your job in the future as I mentioned.
  9. Speed
  10. This is easiest thing people can think when they cooperate. When I was young, I saw many arithmetic problems asking like 'It takes three hours to clean the room for A but two hours to clean the same room for B. It takes one hour to clean the restroom for B but A can clean the restroom for thirty minutes. If they work together, how much time they can save?' I think we learned how cooperation is efficiency from when we are young.

I think these benefits are what we have when we work together.


| No Comments

I think I know this topic better than others.

Writing Effective Comments

In 1902, I learned Java. When I wrote source code for the first time, I really hated writing comments. Because I thought it was wasting my time. Sometimes I got errors because I wrote / instead of //. However, after getting used to it, I changed my mind. I didn't know when I wrote 20~30 lines source code, but After half semester, especially after learning inheritance, I realized how comments help to organize source code and make me to read source code easily. When I wrote game sour code named ship war, I made a bunch of functions and it was huge source code I ever made. I felt like I should organize all these functions before I get lost. So, I started writing simple comments for each functions. Whenever I needed to check previous function I made, I simply checked the comment and it was really helpful. Although I had to delete or reduce some comments since I wrote so many things, it saved my time.

I know a little bit, but it makes me confused all the time.


When I took csci 2021, one lab asked about debugging. I think it was bomb lab. I couldn't understand what professor or ta said, but I tried to solve this lab problem. It was so confused. I'm still confusing about debugging... One of my friends is working as a hardware programmer. I don't know this is right term, but I think it will be related to debugging. He said there are many computer programmers working with software programming, but few people is working with hardware programming, so many companies are looking for hardware programmer. That's why I should know more about debuggers.

Recent Comments

  • nunxx001: My partner and I are still suffering adverse effects from read more
  • lowxx060: I might be clueless for why you spent two hours read more
  • plati005: I am currently going through a similar phase where I read more
  • mani0116: Teamwork can be broken down into so many different ways, read more
  • joh07062: I agree with the cooperation point. At my old job read more
  • pukem003: It's good you and your partner have different skills. This read more
  • saff0021: It's good that you work well with your partner, but read more
  • nguy1069: Yes, the skills and ideas part, these are good thoughts read more

Recent Entries

Find recent content on the main index or look in the archives to find all content.