Java Reference
In-Depth Information
Ninja Skills
At this stage of the topic, you should be well on your way to becoming a proficient
JavaScript programmer. But a Ninja programmer needs to do more. A Ninja programmer
doesn't just know the language, they have further skills that set them apart from regular pro-
grammers. This section outlines a few key skills that are well worth mastering to help take
your programming to the next level.
Version Control
Version control software allows you to track all the changes that are made to your code, be-
cause every version of your code is kept and can be recalled at any time. Many people use a
crude form of version control by saving different versions of code with different file names
such as projectV1.js, projectV2.js, projectV3.js ... and so on. This is a reasonable method,
but it can be error-prone. (If you've used this method before, how many times have you for-
gotten to change the name before saving?) It also doesn't offer the same benefits that can be
gained by using a source control management tool.
One of the most popular source control management tools is Git, written by Linus Torvalds,
the creator of Linux. Git enables you to roll back to a previous version of your code. You
can also branch your code to test new features without changing the current stable code-
base. Git is a distributed source control system, which means that many people can fork a
piece of code, develop it independently, then merge any of their changes back into the main
codebase.
Git uses the command line to issue commands, but there are a large number of GUI front
ends that can be installed to give a visual representation of the code.
Source control is invaluable if you're working in a team, as it means that different deve-
lopers can work on the same piece of code without worrying about causing any errors in the
main codebase. If any mistakes do accidentally end up in the main codebase, they can easily
be rectified by rolling back to the last stable version.
There are a number of online services that can host Git repositories, including GitHub, Kiln,
Bitbucket, and Codeplane. They can be used to host an online Git repository that can then
be forked by other developers, making it particularly useful for team projects. Some of these
Search WWH ::




Custom Search