If you are an Android or a Java Developer you’d know about the pain of navigating amongst the classes of a project on Github. You either need to look it up in the tree like this


or use the file finder using the keyboard shortcut “ t ” like this


But while you are looking at the code, and want to jump to another class you have to use one of the above methods unlike what you do in the IDE. You just Cmd + Click and reach the other class, like this

In order to bring the similar kind of navigation to Github, I wrote a chrome extension which will automatically hyperlink all the classes of your project so you can just click to open them in a new tab.

Here it is in action

Installation is simple, just click on this link and once installed just open any of your projects on Github and navigate through the classes like a boss 😎

Wait…there’s more to it! It also links all the classes from the Android SDK to the official documentation, which means now you have almost everything you need to understand the code on Github at your disposal with just a click.


I would love to your hear feedback on this effort. If you like it, just hit the ️💚 icon below and let your friends know about this extension.

The extension is open sourced already, feel free to star and/or watch it, report issues, improvements and features. I’d be more than happy to accept pull requests there.

Github Repo : https://github.com/droidchef/hops

Follow me on twitter : https://twitter.com/droidchef

Cheers!

Since git is an integral part of my development life cycle and I spend quite sometime committing things to it, I always felt there was something missing, until I did my Android Nanodegree at Udacity where I learned about structured commits.


Why structure your commits?

  1. Keeps your git history neat & meaningful.
  2. Easy to generate change logs

Lets look at how I structure my commits.

The Commit Prefixes

  • feat — a new feature
  • fix — a bug fix
  • docs — changes to documentation
  • style — formatting, missing semi colons, etc; no logical code change
  • refactor — refactoring production code
  • test — adding tests, refactoring test; no production code change
  • chore — updating build tasks etc; no production code change

But you’ll be wondering how is it productive when you have to type those tags into each commit message.

So here’s a script you might want to see

https://github.com/ishan1604/productivity/blob/master/commit

Just put it into your PATH and access it easily like so

$ commit feat

So now when I do

git log --oneline --decorate --graph

Here is what it yields

This is just half the fun

Now when I want to generate a change log, I have a python script that picks up all the commits with the tags feat or fix to generate a change log for me.

Here is the python script

https://github.com/ishan1604/productivity/blob/master/commit

So the output of the python script looks something like this in a change-log.json file

{  
"features":[
"feature 1",
"feature 2",
"feature 3"
],
"fixes":[
"fix 1",
"fix2",
"fix 3"
],
"major":0,
"minor":9,
"patch":11
}

You can then use this to easily curate your CHANEGLOG.md or tell your boss what you did over the last X days.

You can change this variable in the python script on line number 14 to generate the change log from the date you want

afterDate = '2016-09-12'

I’ll be adding more productivity related stuff to it soon. Till then you can give some love to the repo.

https://github.com/droidchef/productivity/