Code version control using Git or SVN seems like too trivial to some small project, but today's experience taught me a lesson.
We, two classmates and me, are developing a small and simple distributed in-memory key-value storage system (like a system called piccolo developed by Professor Jinyang Li's team in New York University) these days. One of them had constructed the basic framework several days before, and we have been adding new functions based on his work. We did our version control work by simply modifying the old code, since we thought it's just a demo system and should not be hard to maintain. But the truth is that coding is easy, but merging our work really drives us crazy. We have to modify our new code manually to make it adapted to others changes. I have to admit that this kind of version control deprives all of my passion for coding something.
Today I learned that even if you are developing a really small project, wise version control is indispensable. A beard well lathered is half shaved, though.