<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ilo Calistus</title>
    <description>The latest articles on DEV Community by Ilo Calistus (@calistus).</description>
    <link>https://dev.to/calistus</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F18931%2F36f722da-3cd8-40b7-978e-f6878aec605f.jpeg</url>
      <title>DEV Community: Ilo Calistus</title>
      <link>https://dev.to/calistus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/calistus"/>
    <language>en</language>
    <item>
      <title>Some important points to watch out before you commit your code</title>
      <dc:creator>Ilo Calistus</dc:creator>
      <pubDate>Mon, 09 Mar 2020 08:58:11 +0000</pubDate>
      <link>https://dev.to/calistus/some-important-points-to-watch-out-before-you-commit-your-code-504l</link>
      <guid>https://dev.to/calistus/some-important-points-to-watch-out-before-you-commit-your-code-504l</guid>
      <description>&lt;p&gt;Before you commit your code to avoid too much back and forth with the team lead, CTO or whoever is in charge of code review, ensure the following are points are in place :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Code Style: Every organisation has a coding convention which they follow. It is good you figure this out even before you start coding.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amount of duplicated code: Always apply the DRY principle(Don’t Repeat Yourself)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cyclomatic complexity: This is the count of the number of decisions in your code. The higher the count, the more complex your code. Checking this early will help reduce code complexity and also determine the number of test cases required.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Number of warnings: Whenever you see a warning by your IDE, it’s an indication that there is something you are not doing right. Though these things are usually safe to ignore but if you do so then over time they’ll multiply until that day comes when there are so many that you miss the one warning that really matters because it’s hidden your verbose logcat.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Test Coverage: Your test should cover at least 80% of your codebase; if not all.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Afferent and efferent coupling(package’s responsibility and package’s dependence on externalities respectively): Afferent coupling(Ca) is the number of classes from other packages which depend on a some classes in a particular package. Preferred values for the metric Ca are in the range of 0 to 500. Efferent coupling (Ce) is the number classes in a given package which depend on the classes in other package. The preferred value for the metric Ce is 0–20.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>softwareengineering</category>
      <category>continuousdelivery</category>
    </item>
    <item>
      <title>Why You Should Use A Version Control System (Git) For Your Projects</title>
      <dc:creator>Ilo Calistus</dc:creator>
      <pubDate>Mon, 15 May 2017 14:09:24 +0000</pubDate>
      <link>https://dev.to/calistus/why-you-should-use-a-version-control-system-git-for-your-projects</link>
      <guid>https://dev.to/calistus/why-you-should-use-a-version-control-system-git-for-your-projects</guid>
      <description>&lt;p&gt;Version control is a system that saves changes to a file or set off files over time so that you can recall specific versions later.&lt;br&gt;
In other words, version control makes it easy for you to store different versions of your project in a particular point of time. You can also restore previous versions and compare different versions.&lt;br&gt;
They are different types of version control systems but in this article, I will be focusing on Git.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Git?
&lt;/h2&gt;

&lt;p&gt;By far, the most widely used modern version control system in the world today is Git. Git is a mature, actively maintained open source project originally developed in 2005 by Linus Torvalds, the famous creator of the Linux operating system kernel. A staggering number of software projects rely on Git for version control, including commercial projects as well as open source. Developers who have worked with Git are well represented in the pool of available software development talent and it works well on a wide range of operating systems and IDEs (Integrated Development Environments).&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic reasons why you should use a VCS
&lt;/h2&gt;

&lt;p&gt;Collaboration: A lot of big software projects require the effort of more than one programmer. who might be working from different angles of an office space or even different geographical location. Without a VCS, you are probably going to be calling your colleague over phone or pinging him telling him that you are working on module â€˜XYZ’ ; and when you are done, you will probably zip and send your work(may be via email or another FTP).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Office Collaboration
With a VCS, everybody on the team is able to work absolutely freelyâ€Š–â€Šon any file at any time. The VCS will later allow you to merge all the changes into a common version.&lt;/li&gt;
&lt;li&gt;Storing versions properly: A version control system acknowledges that there is only one project. Therefore, there’s only the one version on your disk that you’re currently working on. Everything elseâ€Š–â€Šall the past versions and variantsâ€Š–â€Šare neatly packed up inside the VCS. When you need it, you can request any version at any time and you’ll have a snapshot of the complete project right at hand&lt;/li&gt;
&lt;li&gt;Restoring previous versions: Knowing that you can easily undo a changes on a project you are working on helps you to easily try out new ways implementation.&lt;/li&gt;
&lt;li&gt;Understanding what a particular project module does: When a project is well versioned with proper commit messages, it makes it easy for other team members or a new developer to pickup from where you stopped and progress or optimize the code with less hassle.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Common git terminologies and it’s meaning
&lt;/h2&gt;

&lt;p&gt;Clone: This simply, means to download.&lt;br&gt;
Repository(Repo in short): A repository is just a project folder.&lt;br&gt;
Fork: This simply means to copy from the original repository to your own github, bitbucket, gitlab or whatever account.&lt;br&gt;
Pull: This means to download latest changes from a repo.&lt;br&gt;
Push: means upload your local changes.&lt;br&gt;
Branch: see it like a copy of your original code but with a particular distinction.&lt;br&gt;
Master branch: this is usually the main branch of every projects. Most company keep their production code on the master branch&lt;/p&gt;

&lt;h2&gt;
  
  
  Some basic git operations you should know
&lt;/h2&gt;

&lt;p&gt;git clone .git : This used to clone a repository&lt;br&gt;
git branch: Used to know the particular branch you are currently working on&lt;br&gt;
git status: The status of the repo&lt;br&gt;
git add: used to add an untracked file to git.&lt;br&gt;
git commit -m” : used to save a particular work done locally on git. When a file has been committed, it is ready to be pushed. You cannot commit when you have not added a file&lt;br&gt;
git push: Used to upload changes local changes to a remote repo. You cannot push a file when you have not committed&lt;br&gt;
git log: view history&lt;br&gt;
git pull: used to download updates from a remote repository&lt;br&gt;
git branch : create a new branch&lt;br&gt;
git checkout : Move to another branch&lt;br&gt;
git merge : merges the specified branch to the branch which you are currently at.&lt;br&gt;
git branch -d : Deletes a branch&lt;br&gt;
git push originâ€Š–â€Šdelete : Push the change of deleting a branch to github&lt;br&gt;
git help : Documentation of the git tag&lt;br&gt;
Note that git learning curve is a gradual process just like typing. You don’t become a git pro in a day.&lt;br&gt;
I hope you will now start using Git for your projects if you have not been using it before now.&lt;br&gt;
Thanks for reading :)&lt;/p&gt;

&lt;p&gt;To dive deeper into git, you can visit their online documentation at: &lt;a href="https://git-scm.com/book/en/v2"&gt;https://git-scm.com/book/en/v2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can reach out to me on Twitter via the handle: @ilocalistus&lt;/p&gt;

</description>
      <category>git</category>
      <category>vcs</category>
      <category>programmer</category>
      <category>continousintegration</category>
    </item>
  </channel>
</rss>
