Cod PHP scris corect

Scris de bogdanmogo la data 8 Ianuarie, 2010

1. Adaugarea de comentarii la cod

Pentru o buna intelegere a scriptului trebuie adaugat un comentariu principal (care contine diverse informatii despre script) si comentarii la partile de cod unde este necesar.

Iata un sample dintr-un script din CodeIgniter:

/**
* CodeIgniter
*
* An open source application development framework for PHP 4.3.2 or newer
*
* @package         CodeIgniter
* @author          ExpressionEngine Dev Team
* @copyright       Copyright (c) 2006, EllisLab, Inc.
* @license         http://codeigniter.com/user_guide/license.html
* @link            http://codeigniter.com
* @since           Version 1.0
* @filesource
*/
 
define('CI_VERSION',    '1.6.3');
 
/*
* ------------------------------------------------------
*  Load the global functions
* ------------------------------------------------------
*/
 
require(BASEPATH.'codeigniter/Common'.EXT);
 
/*
* ------------------------------------------------------
*    Is there a valid cache file?  If so, we're done...
* ------------------------------------------------------
*/
 
if ($EXT->_call_hook('cache_override') === FALSE)
{
    if ($OUT->_display_cache($CFG, $URI) == TRUE)
   {
        exit;
   }
}
 
/*
* ------------------------------------------------------
*  Close the DB connection if one exists
* ------------------------------------------------------
*/
if (class_exists('CI_DB') AND isset($CI->db))
{
    $CI->db->close();
}

Un alt stil de a scrie codul este (desi unii spun ca aceasta varianta nu este corecta):

if ($EXT->_call_hook('cache_override') === FALSE) {
    if ($OUT->_display_cache($CFG, $URI) == TRUE)
         exit;
}
 
if (class_exists('CI_DB') AND isset($CI->db)) {
    $CI->db->close();
}

2. Denumirea variabilelor si a functiilor

O buna practica este denumirea variabilelor si a functiilor cu underscore intre cuvinte sau cuvintele sa inceapa cu litera mare (CamelCase). Nu este indicat ca variabilele sa aiba denumiri foarte lungi. De asemenea numele unei variabile sau a unei functii trebuie sa fie sugestiv.

function ShowTitle( $name ) {
    return strip_tags( $name);
}

sau

function show_title( $name ) {
    return strip_tags( $name );
}

Asa nu:

$k = ""; // variabilele dintr-un singur caracter
         //sunt folosite de obicei pentru loop-uri
 
$variabilatitlu234 = ""; // nu este sugestiv
                     // nu sunt folosite underscores sau stilul CamelCase

3. Indentarea si gruparea codului

Intotdeauna este necesara o indentare si o grupare corecta, pentru a distinge inceputul unei functii, a unui ciclu sau a altor pasi din script.

 	var $zip_data 	= '';
	var $directory 	= '';
 	var $entries 	= 0;
 	var $file_num 	= 0;
	var $offset	= 0;
 
	function CI_Zip() {
		log_message('debug', "Zip Compression Class Initialized");
	}

Desigur nu este indicat sa abuzam de tab-uri sau de linii goale. Nu facem decat sa incarcam scriptul cu blank-uri care cresc dimensiunea fisierului.

4. Limitarea numarului de caractere de pe o linie

De ce sa avem ecrane laterale, cand putem avea doar ecrane pe verticala? De exemplu: este mult mai usor de citit un query SQL care nu se intinde mult pe o singura linie.

5. Capitalizarea sintaxei SQL

Datorita faptului ca unele query-urile SQL sunt mai lungi, ne este greu sa gasim anumite elemente din query. Pentru a usura operatiunea de cautare este bine sa capitalizam cuvintele specifice limbajului SQL.

Asa nu:

select id, name, title, slug, author, category, views, date_add, date_mod from news where category = 1 order by date_add desc

Iata varianta corecta:

SELECT  id, name, title, slug, author,
        category, views, date_add, date_mod
    FROM news
    WHERE category = 1
    ORDER BY date_add DESC

6. Repetarea unor bucati de cod

Unul din principalele motive pentru care folosim functii este acela de a nu repeta bucati de cod. Datorita functiilor vom face mai usor anumite modificari asupra unor parti din cod, dar vom avea si o dimensiune mai mica a scriptului.

————

Resurse:

1. CodeIgniter User Guide

2. Top 15+ Best Practices for Writing Super Readable Code

3. Writing Clean and Efficient PHP Code

Lasă un răspuns

CSS Text Shadow
Linux: Director ce contine multe fisiere