Tutoriale PHP
  Comunitatea PHP Romania
 

 
Tutoriale PHP
Articol
Index / Introducere in PHP / Articol
Stil de programare
de

Situatie: off off off off off
Vezi comentariiDiscuta acest articol (1 comentarii)
TiparesteTipareste
Adauga la favorite-Doar pentru membriiAdauga la favorite
Anonim

Stil de programare

 

Autor: Victor Farazdagi
Traducere in limba romana: PHP Romania

Salut!

Intotdeauna am fost de acord ca un cod "bun" este un cod "bun-formatat". Am decis ca sa scriu un articol despre conventii si standarde de scriere a codului pe care le-am folosit in proiectele mele.
Cateva note pe care vreau sa le aduc:
1. Intotdeauna separ codul OO de cel procedural
2. Nu folosesc comentarii de tip shell (‘#’)
3. Folosesc intotdeauna tag-ul de start <?PHP ?>
4. Editorul EditPlus are optiuni de inlocuire a tab-urilor cu spatii pe care le folosesc intotdeauna


Operatii:
   
Am cateva reguli de baza in ceea ce priveste formatarea operatiilor

1. Intotdeauna adaug spatii inainte si dupa operatii de atribuire, logice si de comparare
           


<?php
//operatii de atribuire:
                    $a 5;
                    $my_str .= "bla bla bla";
                    $i += 2;
     //operatii de comparare si logice:
                    if (($name == 'Viktor') or ($name == 'Andrei') ) {
                        echo 'Inregistrare gasita!';
                    }
?>

 


        2. De asemenea incerc sa folosesc (dar aproape intotdeauna nu reusesc) acceasi sintaxa pentru operatiile aritmetice:


<?php
//Arata mai bine
                $a = (10 $b) / 20;
                //fata de:
                $a = (10*$b)/20;
?>


        3. Cateodata gasesc urmatoarea structura necesara:          


<?php
$var_name_1  5;
$b           7;
?>



Structuri de control:

    Alte reguli pe care le folosesc:
        1. Las un spatiu dupa fiecare structura si parantezele sale [de exemplu : if () ] .
        2.
Intotdeauna folosesc {} pentru a indica o structura indiferent de numarul de instructiuni care e continut in structura respectiva.
        3. Codul din interiorul unei structuri il marchez prin intermediul unui tab (de fapt 4 spatii) in interiorul structurii.       
        4. Nu e o regula, dar cateodata pun o linie intre diferitele structuri
        5. Niciodata nu folosesc sintaxa alternativa pentru structuri
          (ex: if (conditie):instructiuni endif;)

       
        if; if..else; if..elseif;


<?php
if ($a == $b) {
                /* codul tau aici */
            }
            
            if ($a == $b) {
                /* codul tau aici */
            }else {
                /* codul tau aici */
            }

            if ($a == $b) {
                /* codul tau aici */
            }elseif ($a == $c) {
                /* codul tau aici */
            }
?>



        for; foreach; while;
            Las un spatiu aditional dupa ';' in conditia de 'for'.
       


<?php
for ($i$i 10$i++ ) {
                /*codul tau aici*/
            }
            foreach ($arr as $k => $v ) {
                /* codul tau aici */
            }
            while ($i 10) {
                /* codul tau aici */
            }
?>


       
        switch;
       


<?php
switch ($age) {
                case 19:
                    echo 'You are in the army now!';
                    break;
                case 100:
                    echo 'Incredible!!';
                    break;
                default:
                    echo 'Nothing to say!';
            }
?>


       

Functii si Clase

    Nu exista nimic special in legatura cu formatarea functiilor si claselor, utilizand, in fapt, tehnicile discutate mai sus.    
Totusi as vrea sa fac 3 remarci:
    1.
O regula de aur este aceea de a documenta o functie cat de mult posibil.
   
2. Acelasi lucru despre clase dar in termeni mai rigurosi.
   
3. Parantezele {} in clasa si functia de mai jos sunt plasate diferit fata de structurile discutate mai sus.   
   


<?php
/**  Function: void login($user_name = 'nobody', $user_pass = 'nobody'
    * ------------------------------------------------------
    *   Purpose:    Member function handling user login process
    *   Arguments:  $user_name - string, user name
    *               $user_pass - string, user password
    *   Returns/Assigns:   Sets session variable $logged to 1
    *                       if function call succeeds and 0

    *                       if
otherwise.
    * Name      Date            Version      Change

    * Mikeq      20 May 2002   1.1     Description of change
    */

    function login($user_name 'nobody'$user_pass 'nobody')
    {
        /* codul tau aici */
    }
?>

 

  In cazul claselor:
   


<?php
/**
    *   HTML Form elements generator for PHP4.
    * Explanation: class purpose is to generate, store and transfer
    *     btw pages form elements and their respective values.
    * Supported HTML Form elements:
    *     text; password; radio; checkbox; image; file; hidden;
    *                   button; submit; reset;
    */

    
    
    class Form
    {
        /* codul tau aici */
    }
?>


   
    Pentru clase am pregatit de asemenea fisier de documentare diferit care acopera urmatoarele:


<?php

  /**
    *  Classname:  Form
    *  Description:Class for generationg HTML form elements on fly.
    *                Supports all form elements:
    *              'text', 'password', 'checkbox', 'radio',
    *              'textarea', 'button', 'submit', 'reset', 'select',
    *              'hidden','image','file'.
    *  Version:    0.5
    *  Author:    Victor Farazdagi(Kuulest).
    */

  /**
    *Instance variables
    */

        classname  - 'Form'
        debug  - folosit pentru a activa "on/off" modul “debug”   
  /**
    *Instance methods
    */

        Toate metodele utilizator prezente in clasa.

  /**
    *Internal methods
    */

        Toate metodele sistem [interne] prezente in clasa.
  /**
    *TODO List:
    */

?>

 


    Asta e tot!
   

   Kuulest
[Coding Style]

Sus


Trimis de : adminData intrarii : N/ANivel : incepator


[ Profil autor ]
Membrul nu exista in comunitate

[ Alte articole ale acestui autor ]
Conectarea la o baza de date din PHP
Interakt - O poveste de succes

Gazduire

Tutoriale

Discuta in forum

Parteneri

Copyright © 2001-2008 PHP Romania Add PHPRomania to Google Add PHPRomania to Del.icio.us Add PHPRomania to Stumbleupon Add PHPRomania to Yahoo! Add PHPRomania to Digg Add PHPRomania to Blink Free Advertising | Life Insurance | Mortgage Calculator | Remortgages | Western Union Locations
Ads: Partener Way2Web Nework: gazduire web | inregistrare domenii | web design | imobiliare | web hosting
Powered by Simplis