Refactorización PHP - Lez. 3: Métodos de una clase
En cuanto a los métodos de una clase, también se aplica en este caso la convención de nomenclatura expuesto anteriormente para las propiedades de la propia clase. Les repetimos a continuación para mayor comodidad:
- Si consiste en una sola palabra, todo en minúsculas, por ejemplo, la moneda ();
- Si se hace de muchas palabras la primera letra de cada uno, a partir de la segunda, en mayúsculas, en minúsculas otra, por ejemplo, addElement ();
- El nombre del método debe explicarse por sí misma.
Además de estas normas también en cuenta lo siguiente:
- Si el nombre del método se compone de varias acciones se dividió en muchos sentidos, ya que hay acciones;
- La longitud del cuerpo del método no debe exceder de 40 líneas;
- El número de parámetros no debe exceder un máximo de 4;
Nombre del método consiste en varias acciones
Ponga el caso de que al escribir el código de una clase tiene un método con la siguiente firma:
public function controllaImmagazzina ($ producto)
El código del método es como sigue:
Almacén de la clase { public function controllaImmagazzina ($ producto) { if ($ producto == null) { return "conjunto de productos"; } Else if (substr ($ producto-> getCodice (), 0, 3) == "CAT") { return "hecho con el catálogo de edad"; } Else if ($ producto-> getIngombro ()> 10) { volver "producto demasiado complicado"; } $ Db = new Db ("mysql"); $ Db-> update ($ producto); } ............................................. } |
Como puedes ver, hemos introducido un método único que podría volver acciones útiles por separado, por lo que tendremos que dividir cada acción en un nuevo método y si realmente tenemos que usarlas juntas creamos un método adicional que llama a la secuencia.
Siguiendo las indicaciones que acabamos de dar, el código anterior debería aparecer como sigue:
Almacén de la clase { ................................................ verificación de la función pública ($ producto) { if ($ producto == null) { return "conjunto de productos"; } Else if (substr ($ producto-> getCodice (), 0, 3) == "CAT") { return "hecho con el catálogo de edad"; } Else if ($ producto-> getIngombro ()> 10) { volver "producto demasiado complicado"; } return ""; } tienda de la función pública ($ producto) { $ Db = new Db ("mysql"); $ Db-> update ($ producto); } prendeInCarico pública ($ producto) { $ Msg = $ this-> check ($ producto); if ($ msg! == "") { echo $ mensaje; Else {} $ This-> tienda ($ producto); echo "El hacerse cargo con éxito"; } } } $ ObjProdotto = new Producto (); $ Obj = new Almacén Almacén (); $ Msg = $ obj Almacén -> prendeInCarico ($ objProdotto) echo $ mensaje; |
Reescribir el código que hemos hecho que sea más fácil de leer y reutilizable, en el caso que quería controlar sólo un producto dentro de otro método, o sólo almacenar un producto que no requiere control.
Analizamos ahora los otros requisitos.











Действительно классная темка.
спасибо Вам за комментарий
Nicola