Hunt by hooks & Code by hooks.

What is a Git Hook

it is a way to fire off custom scripts when certain important actions occur. Git provides 2 types of hooks, client-side hooks, server-side hooks. Client-side hooks are triggered with the predefined git action, such as commit, push, pull, merge. While server-side hooks run on network operations such as receiving pushed commits, on your Git Server.

How are Git Hooks helpful?

We can script a couple of commands such as linting, static code analysis, auto-format, run unit test, run UI test.

In one of my experiences, I found the team would give intention to minor details and waste a lot of time, code formatting, indentation. I…

Minaret of Great Mosque of Mecca

What is Azan?

The Adhan, also written as Adhaan, Azan, Azaan or Athan (Arabic: أَذَان‎ [ʔaˈðaːn]), also called Ezan in Turkish,[1] is the Islamic call to prayer, recited by the mu’azzin at prescribed times of the day. The root of the word is ʾadhina أَذِنَ meaning “to listen, to hear, be informed about”. Another derivative of this word is ʾudhun (أُذُن), meaning “ear”.

To calculate time prayers you need solid mathematical knowledge to solve such complex equations in your app, to calculate it in right.

Code Smells term didn’t really go official though until Martin Fowler & Kent Beck published their book,
“Refactoring: Improving the Design of Existing Code”

Code smells were defined by Kent Beck in Fowler’s book as a means to diagnose symptoms that may be indicative of something wrong in the system code. They refer to any symptom in the source code of a program that possibly indicates a deeper problem. we can break down this topic to levels, Method Level, Class Level, Application Level, Design Level.

In this article, I will focus on “Method level” topic

  • What is code smells?
  • How to define the code smell in the method level?

What is Code Smells? 🌋

Code smells are not bugs, compiler errors, or broken or nonfunctional code.

Code is compiled by machines & readable by a human, otherwise that, it is Hieroglyph

In this article, we will discuss

  • Clean code definition.
  • Best practice for clean class names.
  • Best Practice for clean method/function names.
  • Best practice for clean Variable names.
  • Best practice for parameter names.
  • Best practice for constant names.

Write code for humans 👩👨, not only for machines💻💻

When you write code, who are you writing it for? The easiest answer is that you’re writing it for the computer, or more specifically, the compiler or interpreter for the language that you’re writing in. That’s true, your compiler or interpreter needs to be able to understand your program well enough to execute it. What’s another audience? In many professional settings, you’re not…

Before we talk about the software field we have to talk about a general concept. We have to remember the definition of technician vs engineer in general.

Technician: a worker in a field of technology who is proficient in the relevant skill and technique, with a relatively practical understanding of the theoretical principles.

Engineer: a person who design, analyze, build, and test machines, systems, structures, and materials to fulfill objectives and requirements while considering the limitations imposed by practicality, regulation, safety, and cost.

This is the classical pictures of technicians and engineers.

Let’s go back to the first industrial revolution…

Understanding to make a great performing app,has everything to do with understanding, what’s going on under the hood. if you don’t know what is the hardware is doing, you have got a good chance of using it poorly. when it comes to reading your application, Understand how Android utilizing the GPU, Can go a long way to understanding your performance problems. The main question now is this

How does your activity get drawn to screen? or rather, how do all that crazy XML and markup language turn into pixels that the user can see and understand?

Either write something worth reading or do something worth writing.Benjamin Franklin

Don’t write messages, no one can understand it.

If you don’t give the git commit messages importance and try to skip it by any rubbish words, tomorrow you and your team will skip your commits as not readable, meaningless, useless.

You lost one of the main goals of distributed version-control / Git.

Don’t Write such trash:

Git is the most popular distributed version control system for tracking change. if you are a newcomer to the software development world, you have to know it, you have to use it. my advice to you if you are a newbie to software development world to try to use Git with GUI tool like source tree, it is much easier for you in your first steps, then you can go and dig in deep with git commands. but the black fact that Git is meanly a command line.

Simple & Basic terms you have to know


Create a local copy from a remote repository.


Save the changes you…


Usually when mobile developers start working with server side APIs/calls not all the APIs have implemented, they mock the response and work on it till the back-side will be ready .

When we talk about FCM , sometimes we face integration problems, which is sometimes related to code implementation itself, or to server side configurations, or server side implementation for push notification . At least android developers would like to ensure that everything from their side work properly and there is no problems in code implementation and device registration .

How we can do that ?

Simply via any rest…

Ahmed Mahmoud Eltaher

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store