image from osnews.com

Good developers are defined by the quality of their codes. In the software industry, writing good code means saving the money that may be invested in testing, updating, extending or fixing bugs. In this article, I will show you real-life examples of some techniques and ideas that will help you to clean up your legacy code and refactor it to make it more robust and modular. These techniques will not only help you to refactor your old code but will give you great ideas as to how to write clean code from now on.

What Is refactoring and why do we need It?

Refactoring refers to techniques and steps…


Code smells are a set of common signs which indicate that your code is not good enough and it needs refactoring to finally have a clean code. In this article, I am going to explain the code smells with real-life examples from real projects on GitHub and show you the best way to refactor these smells and clean things up. I also suggest you read this article afterward. “Advanced Coding Skills, Techniques, and Ideas

- Duplicated Code and Logic Code Smell It is common that developers are kind of lazy, which is very good in so many ways; however, being…


Conceptual integrity, cohesion, abstract data type, coupling, information hiding, rule of least astonishment, and more

Photo by Pixabay, sourced from Pexel.scom

If you’ve read a technical book (I suppose you would have as a software engineer), you may have found a term or a concept that you are unfamiliar with. Perhaps you studied it at some point at college but your memory of it has faded, or maybe it’s a new one that you’ve never come across before. Usually, this depends on how advanced the book that you’re reading is, and what type of experience you need to have to get the most of your reading.

To help increase your understanding of terms and concepts (and in so doing, improve your…


Image by OpenClipart-Vectors from Pixabay

Engaging your users is a great way to ensure a successful business. As software developers, we must think about the different requirements and application needs. We must choose the best yet most affordable way to achieve our application goals.

In this article, you will learn

  1. Send SMS to a single user.
  2. Send bulk messages without getting blocked using the Twilio messaging service.
  3. Use Twilio notify service to reach customers over their preferred channel.

We will use only PHP without any frameworks to keep our code examples straightforward. Let’s begin.

Let’s assume you are working in an e-commerce startup. The founders…


The most important thing when it comes to Database Performace Optimization is to pick the right one. You should decide whether your application needs a Relational or Non-Relational database. Even inside one type, you will have various options to choose from. As in the relational database, you may find Oracle, MySQL, SQL Server, and PostgreSQL. On the other hand, The non-relational database introduces MongoDB, Cassandra, and CouchDB. You may expect me to suggest using the non-relational database for faster read/write performance. However, with some refinements and tuning, you can push a relational database beyond its known limitation. So in this…


Application performance is not just a technical issue. Performace can make a business successfull or take it down. So, if you think few milliseconds are not a big deal, think again.

Why does Performance Matter?

There are mainly three reasons why performance is essential. The first is User experience; if your application takes so long to load, then you are risking your users to switch to competitors or leave bad reviews which will affect the business badly. The second reason is “Conversions.” Conversions are the number of users who actually buy your product or download your ebook or generally the…


What was the web design look like in the past? And what is its future?
Is there a big difference between how it was, what it is and what it will be?

The following pictures compare Amazon’s website in 2010 and Youtube’s website in 2006 with their current ones.


Nowadays, cloud computing has become a central part of any tech company, that includes every company now since most of them can be categorized under “Software as a Service” (SaaS). In this post, I will try to simplify the most important Amazon cloud/web services known as AWS.

This post will help you to understand different services by Amazon and their different capabilities. and to discover the new opportunities that come with using cloud computing instead of self-managed infrastructures.

AWS most used services

Amazon provides many services that can be very useful for your application, however, some of them can be helpful for someone but…


Many people don’t really know the difference between software architecture and software design. Even for developers, the line is often blurry and they might mix up elements of software architecture patterns and design patterns. As a developer myself, I would like to simplify these concepts and explain the differences between software design and software architecture. In addition, I will show you why it is important for a developer to know a little bit about software architecture and a lot of software design. So, let’s start.

The Definition of Software Architecture

In simple words, software architecture is the process of converting software characteristics such as flexibility…


Good developers are defined by the quality of their codes. In the software industry, writing good code means saving the money that may be invested in testing, updating, extending or fixing bugs. In this article, I will show you real-life examples of some techniques and ideas that will help you to clean up your legacy code and refactor it to make it more robust and modular. These techniques will not only help you to refactor your old code but will give you great ideas as to how to write clean code from now on.

What Is refactoring and why do we need It?

Refactoring refers to techniques and steps…

Mohamed Aladdin

I am a Software engineer who like to spread the knowledge.

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