Using a Notepad in Industry to keep track of modified code

Started by
21 comments, last by swiftcoder 10 years, 5 months ago

I'm a firm believer in notepads though, notepads don't crash and lose your data.

Then there's something seriously wrong with the version control software you're using.

Or there is a lack of redundancy.

Advertisement

As a solo programmer, I've found git far more useful than svn. Once you understand how it works, it's extremely easy to set up, branch off modifications, compare those changes, and merge them together. I would never dream of doing this by hand.

openwar - the real-time tactical war-game platform

What about Mercurial?

What about Mercurial?

...And it begins.

Git vs. Mercurial: Please Relax (Git is MacGyver and Mercurial is James Bond)

The Differences Between Mercurial and Git

Git is Wesley Snipes, Mercurial is Denzel Washington

My honest opinion on Mercurial: To me it feels like Mercurial is just unnecessary. It does everything git does, only slower, and it's missing a few features. Plus the name "Mercurial" is unfortunate. Not catchy and doesn't "feel" good. That's just my opinion. I'm not denying Mercurial is a good VCS; quite the contrary, it does what it's designed to do and it does it well.

If you tell me to use Mercurial over Git, though, the reason I wouldn't switch is not because I prefer git, but because the time it would take to learn how to use Mercurial would outweigh the supposed benefit you claim it has.

I'll quote the first article. The bottom line is:

  1. Evaluate your workflow and decide which tool suits you best.
  2. Learn how to use your chosen tool as well as you possibly can.
  3. Help newbies to make the transition.
  4. Shut up about the tools you use and write some code.

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty

Mercurial is not slow. I switched from Mercurial (also called hg if you find that more catchy) to using git, but only because there are a few corner cases where it is more flexible. The downside is git got obscure commands you need to type in with ambiguities, 2 commands for same thing and 1 command doing 3 things.

hg you can learn in a day with easy commands you can even shorten when you type them in and rarely needs extra switches. Command names also have similar meaning as in SVN if you switch from it. Turtoise hg is also nice, I think they programmed it from scratch for hg only using the pictures of Turtoise SVN.

git you need to study and google for commands and dozens of switches per command for years to come. If you used SVN first, google every command, because all got intentionally renamed and do something else if you type in the original command. Turtoise git you better not use, I think that got into live as an awkward mutation of Turtoise SVN and did not fit git well.

The good thing of both compared to SVN is you can easily setup a repository, have everything locally on your computer without needing constant access to a server, you can easily setup a repository on an USB stick and push from your HDD to it to have a local backup in case the HDD or the server blows up and merging (and you can additionally rebase) is so much easier.

From my college experience, maybe one or two professors touched on source control for a total of five minutes. There wasn’t a specific class for it nor was it mandated in any class to be used (or encouraged to be used at all really). It was one of those things that I learned on my own and used on my own, and mandated for the team projects that I was a part of.

As far as I can tell, that’s more or less the common story. You wouldn’t believe how often we get soon-to-be-new graduates coming in for interviews and they only have “vaguely” heard of source control.

As for notepads, I like those big yellow legal pads myself. Always have a stack of them in my drawer, and always one open beside me while working. Very useful for notes during debugging or sketching out new ideas or designs. That may range from literally diagramming something in 2D or fleshing out an algorithm in pseudo code. It’s a good habit in my opinion.

Yes, I do it all the time. Perforce or Git don't really track that or the relationships between different files or calls. It's easy to forget or have a hard time finding what you're looking for in perforce because it can be hard to forsee future needs.

I also write general notes on the files I'm working on or of interest to me, function and line numbers I'm interested in, reminders, TODO lists, math, call graphs, etc.

In general if you find a habit of yours is proving useful, keep doing it :)

Yeah, I sometimes do write down basic class/function relations on paper, too. But often its changing fast and you could never write down all of it even for a single time.

I wish there was a tool you could feed a whole source tree in, which would then automagically generate a nice, easily customizable diagram of all classes, member and global variables, methods, functions, including different lines for inheritance, calls and bad use of public variable read/write. That is, it should go exactly backwards from the commonly told way of sinking much time into creating an UML diagram (which seem to get too coarse grained to be useful and dont include methods), then implementing it, then some changes get made and the diagram is useless.

What I saw from doxygen class diagrams feels not really useful enough to me, because I can just look at 1 to 3 header files and see the same.

AFAIK, warnexus is using Java. So, based from that...

Eclipse has plugins for handling version control for git (EGit), Mercurial (MercurialEclipse), and so on (Subversion, CVS, etc).

The things you need is a: A repository (it can be local but preferably in some website, BitBucket supports Git and Mercurial, GitHub supports Git only I think), and b: The plugin. Once you have both, you can follow some tutorial to set up your repository.

I use Mercurial, started to use it because I wanted to have my code somewhere so I don't have to copy it back and forth between my desktop/netbook. That's a big plus, besides that you get the opportunity of commenting each commit individually, having the whole history of each file you modify, and watching your progress in a handy commit history page :)

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

AFAIK, warnexus is using Java. So, based from that...

Eclipse has plugins for handling version control for git (EGit), Mercurial (MercurialEclipse), and so on (Subversion, CVS, etc).

The things you need is a: A repository (it can be local but preferably in some website, BitBucket supports Git and Mercurial, GitHub supports Git only I think), and b: The plugin. Once you have both, you can follow some tutorial to set up your repository.

I use Mercurial, started to use it because I wanted to have my code somewhere so I don't have to copy it back and forth between my desktop/netbook. That's a big plus, besides that you get the opportunity of commenting each commit individually, having the whole history of each file you modify, and watching your progress in a handy commit history page smile.png

Thanks for the info! rolleyes.gif Thumbs up!

This topic is closed to new replies.

Advertisement