Refactoring is changing of complex and complicated programming codes into simple and confusion-less ones, thereby restructuring the complete set of codes into easily readable formats, without any change in the output or functionality. Refactoring does not include fixing of glitches or including of new functionalities or practices to the existing set of codes. It only assists in reducing the complex form of coding into easily understandable and less time consuming forms that is universally accepted by all.

General PHP Coding

Programming using PHP becomes very effective and powerful, when code-refactoring techniques are included while coding. It is possible that for a same task to be performed, various methods can be utilized in order to attain the final result. But the best among all the methods, with simple coding style, easy execution and less time consumption, is achieved through refactoring. This brings the code to a format that is acceptable and understandable by any programmer, from any part of the globe.

What is the need for refactoring?

A question that might arise before refactoring is “What is the need to fix a code if it is working fine and is not broken?” PHP codes get enhanced and more potential by code refactoring. When taken on a universal basis, code refactoring of PHP codes makes it more acceptable all over, by all the programmers and also makes it viable and readable. If an old product has a set of old codes, and the programmers who worked on the products’ codes no longer work with the company, then the code becomes incomprehensible. In order to make it understandable, refactoring of the PHP codes have to be done.

Basically, refactoring of PHP codes are done for:

  • Making PHP codes more potential.
  • Betters the code design and the overall PHP coding structure.
  • Modifiable by any PHP programmer, even though they have not worked on the project beforehand.
  • Clear and understandable coding procedure.
  • Globally accepted by all PHP programmers.
  • Hassle-free maintenance.
  • New features can be included in a jiffy, as the whole layout of the coding is very clear.
  • Bugs and program glitches can be detected and sorted out in a flexible manner, as the coding is simple and clear.
  • Puts an end to improper coding problems like using up of more codes to do the same thing and duplication.

Creating a universal and generalized version of PHP coding

In order to make the coding part flexible enough to understand and to be executed easily, it is necessary that a universally acceptable form of PHP coding be followed.
An example of PHP coding without refactoring would be this

<?
function convert($a)
{
if($a==0) $t = “Zero”; elseif($a==1) $t = “One”; elseif($a==2) $t = “Two”; elseif($a==3) $t = “Three”; elseif($a==4) $t = “Four”; elseif($a==5) $t = “Five”; elseif($a==6) $t = “Six”; elseif($a==7) $t = “Seven”; elseif($a==8) $t = “Eight”; elseif($a==9) $t = “Nine”; echo $t;

} ?>

The same can be written in this way, after refactoring methodology is used. This reduces unnecessary loops:

<?
function Digit2Text($digit)
{

switch($digit) {

case 0: echo “Zero”;break; case 1: echo “One”;break; case 2: echo “Two”;break; case 3: echo “Three”;break; case 4: echo “Four”;break; case 5: echo “Five”;break; case 6: echo “Six”;break; case 7: echo “Seven”;break; case 8: echo “Eight”;break; case 9: echo “Nine”;break;

} } ?>

Few of the many ways of refactoring includes the following basic steps:

  • While using third party code, it is always advised to first perform a code analysis and try a sample step, before implementing the codes.
  • Code Indentation: So that any user can easily understand the hierarchy of the codes.
  • Include comments for each functionality, in order to clearly explain what the particular code is all about.
  • Code simplicity like avoiding generation of unnecessary loops to fetch a single value.
  • Create a common class, with self explained names, for functions like function create_new_user_account() // So no need to add a separate comment line as well.
  • While fetching records from the database, its best to avoid select * and instead add particular field names like “select username”, “select password”.
  • While fetching records from the database, its best to avoid select * and instead add particular field names like “select username”, “select password”.
  • When using the “while” loop and “do while”, it is always better to use the “while” loop, in terms of time taken and unnecessary loops performed to get a task done.Example:
    while (list($key,$value) )=each($array)
    

    can be written as

    foreach($array as $key=>$value).
  • When using the “while” and “foreach” codes, “foreach” is more faster in terms of execution speed.
  • It is very helpful to use “Extract” keyword for parse the array-based outputs using Ajax. For example there would be no need to get connected to the database every time.

An example of how a set of PHP codes look prior to using refactoring methods include:

 <?
function news()
{
$strqry = "select * from news";
$rs = mysql_query($strqry);
if(mysql_num_rows($rs)>0)
{
while($row=mysql_fetch_object($rs))
{
echo $row->news_title."<br>Posted on ".$row->news_posted_date."<br><br>";
}
}
}
?>

This same set of codes can be written in the below mentioned way, without too many unnecessary loops and time consumption:

<?
function DisplayNews()
{
$rsNews = mysql_query("select news_title,news_posted_date from news");
if(mysql_num_rows($rsNews)>0)
{
while($rowNews=mysql_fetch_object($rsNews))
{
echo $rowNews->news_title."<br>Posted on ".$rowNews->news_posted_date."<br><br>";
}
}
mysql_free_result($rsNews);

}
?>

Conclusion

PHP code refactoring is like an immune system to a living organism that constantly neatens the codes and curbs the emergence of bad or improper coding procedure. This paves way for effective coding procedures, thereby making PHP coding comfortable to be understood by all programmers, around the world; a form of coding that is practicable, pure and yet simple to understand.