<?xml version="1.0"?>
<slide title='Est&#225;ndares de c&#243;digo'>
 <blurb>
  Hay ciertas reglas y est&#225;ndares para el c&#243;digo que esta en PEAR:
 </blurb>
 <list type='number'>
  <bullet>
   Las clases deben de tener un nombre descriptivo, e.j.
   *TemperatureControl*, *HTML_Table*.
  </bullet>
  <bullet>
   Los miembros p&#250;blicos deben de seguir la convenci&#243;n de 'Camel caps',
   excepto por el constructor de la clase, e.j.
   *addRow()*, *solveEquation()*, *HTML_Table()*.
  </bullet>
  <bullet>
   Los miembros privados deben de empezar con un subrayado "%_%", e.j.
   *_validate()*, *$this->_numRows*.
  </bullet>
  <bullet>
   Las constantes deberan ser todas en may&#250;sculas y prefijadas con
   el nombre del paquete, e.j.
   define('*MATH_STATS_CUMMULATIVE*',1);
  </bullet>
  <bullet>
   Si se necesitan variable globales, sus nombres deben de estar prefijados
   por el nombre del paquete y empezar con un subrayado, e.j.
   $GLOBALS['*_PEAR_default_error_mode*']
  </bullet>
  <bullet>
   En general, se prefiere que haya una clase por archivo, aunque se pueden
   dar excepciones que tengan una raz&#243;n v&#225;lida (performance por ejemplo).
  </bullet>
  <bullet>
   Los nombres de los paquetes siguen una jerarqu&#237;a llana, que debe reflejar 
   la estructura de los directorios en los que va a ser instalado, e.j. el
   paquete HTML_QuickForm_Controller, ser&#225; instalado en
   HTML/QuickForm/Controller.
  </bullet>
 </list>
</slide>
