Offcanvas

Find errors without running your code!

Find errors without running your code!
intcore
By: Mark Rady

 

Hassle of finding code errors!

Finding errors in your code without interrupting your code could be something normal for a lot of people, but imagine that you have an old code base or a legacy code.

You will have thousands of files, most probably will have a lot of logical errors, for example: functions return multiple types of data…etc.

This scenario couldn’t happen if you use compiled language, a strongly typed language.

Languages!

As a PHP developer using a dynamic language one doesn't have to specify methods to return types or variables, at some times you could make a function return with user object in condition and in another condition could return string for example “user not found.”.

Could be given for you but as a code standard and quality you could get confused when this method is called because it should be return [ex User instance] and when you try to call a method from this instance you could get error Cannot call method on string.

Maybe you don’t consider it a problem or you are handling it with check return type of functions, but if you are working on large scale projects with many team members you will get something like lag in development or have a good understanding of what this function returns exactly.

At Intcore, we have lots of quality standards of coding and to make code review easier, to make sure the development process is going smoothly and avoid random errors or sudden errors could happen in some scenarios and others not.

For example you could get this error before defining a variable inside if condition and return this variable outside if condition, and as a good scenario you think in your subconscious it will pass!

I will use PHPStan package from github to test my code for fresh project based on laravel

Let’s go!

Okay, let's think about that this code has actually worked, if you read where is the error exactly, you will find this error in exception handler in laravel.

Let’s explore!

Code looks perfect but there are 2 small issues; 

  1. In function’s comment, it is defined that function should return instance of \Illuminate\Http\Response but the function is returned instance of App\User

  2. User variable is defined inside if condition and we tried to return variable after the if condition.

These could seem like small issues but on a big scale project and legacy code base, thousands of issues were found, we have a big issue with random issues appear on production and fields queues, after fixing these issues we almost passed 80% of issues. 

By the way, there is a lot of packages providing the same functionality of Phpsan and there are multiple levels of testing your code you can select the level of code quality you need to check.

Stay tuned for more of our articles on our blog

People liked
Instagram is affecti...

Based on a research conducted by Oberlo, there are 3.2 billion users on social media! Which approximately equates to 42% of the population, we’re close to the 50%! Facebook has still been ruling among all the social media platforms, following it comes Instagram which now became the most-used social media platform for the young ages, and here comes the problem we will discuss today!

IoT with Android Thi...

Since the introduction of the Internet, there have been a lot of developments around it. But the most significant of them all is the Internet of Things (IoT).

The Intelligence of...

In 2018 AI has been expanding its reach, touching numerous different industries. Gartner found the AI industry revenue will increase 70% compared to the previous years to reach $1.2 trillion by the end of 2018. This clearly shows the growth of everything that’s ‘AI-enabled’ both in terms of products and new business models.

How to Ensure Your M...

In today’s digital age, mobile applications handle everything from banking transactions to private conversations. Yet, this convenience attracts cybercriminals seeking to take advantage of vulnerabilities. Let’s have a journey into the world of mobile app security and discover how to build a fortress around your app. 

Offcanvas Title
Your content here.