Posts

Showing posts with the label software

Git crib sheet

Been using Git lately.  Much goodness to be had, but some commands are a little unfamiliar if coming from Subversion. So, here's my crib sheet of handy Git recipes I think will be useful. Configure your Git bash-3.2$ git config --global  user.name  "CustardCat" bash-3.2$ git config --global user.email " custard@cpan.org " bash-3.2$ git config --global -l user.name =CustardCat user.email= custard@cpan.org Create a new project and commit your code... # Create a project and cd into it.. cd my_project # Make the project a git project git init # Add all the files in the project to git git add . # Commit your local files git commit Get status, logs & diffs # Status of changes git status # Diffs git diffs # Add more files git add file1 file2 etc.. # See what's been happening git log git log --stat --summary git log --pretty=oneline # See diffs between versions. nb. only need first few chars of version git diff 16f8..8bd2 g...

Is TDD Karate or Kung-fu?

Today we had a discussion in the office about the current TDD (Test Driven Development) course we are following and it has to be said there is more than a little confusion over it. One of the main sources of this confusion seems to be 'why' we are doing it.  And I can see where the confusion creeps in. Quite a few of the members of the team have years of programming experience and may already or have been practicing TDD in some guise or another so those people already know the benefits and have adapted the process to their way of working. To me this is fine. Perhaps they would be better served with working on some other very useful principles such as the SOLID principles. [Robert C. Martin] Some of the other members know of TDD and are perhaps reluctant to use it because of past experiences or whatever.  These people need to know what the goal is, what will they be good at at the end of this? At this point someone started explaining that it was like learning Karate. In some ...