Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

0D
9H
52M
45S

C贸digo reutilizable

7/26
Recursos

Escribir c贸digo reutilizable nos va a ayudar a que en lugar de copiar y pegar una misma l铆nea de c贸digo pero con diferentes par谩metros lo hagamos a trav茅s de una funci贸n que retorne los valores que necesitamos y luego la podremos llamar en cualquier lugar del c贸digo que necesitemos pas谩ndole los par谩metros que deseamos.

Aportes 45

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Ac谩 te dejo unos tips para hacer un buen c贸digo reutilizable:

  1. Mant茅n tu c贸digo DRY (O SECO, en espa帽ol). Es decir 鈥淒on鈥檛 Repeat Yourself鈥 (O 鈥淣o te repitas鈥)
  2. Haz m茅todos o funciones que hagan solamente una cosa.
  3. Haz pruebas unitarias para tus m茅todos y que sean f谩ciles de testear
  4. Trata de pensar de forma abstracta, usa interfaces o clases abstractas
  5. Escribe c贸digo que se pueda extender f谩cilmente en un futuro (B谩sicamente que modificarlo no signifique prenderle fuego a medio c贸digo)
  6. No escribas c贸digo innecesario o que no hace falta en el momento.
  7. Reduce el acoplamiento (Acoplamiento hace referencia a que, el comportamiento de una funci贸n depende enteramente de lo que retorne otra funci贸n, y esta de otra, y otra, y otra鈥)
  8. Usa m谩s c贸digo modular.
  9. Escribe tu c贸digo como si fuera una API externa (Que se pueda importar de otro c贸digo y sirva completamente)

Reci茅n empiezo a programar y es bueno saber que estaba haciendo mal en utilizar 鈥渃opy & paste鈥 antes de que sea tarde y lo agarre como costumbre.

Esto lo explica Freddy en el curso de introducci贸n a la programaci贸n, la premisa es simple:

鈥淪i algo se repite mucho y los cambios son m铆nimos, lo mejor es meterlo en una funci贸n鈥

Hay casos que son excepci贸n, donde el c贸digo se repite pero no siempre se puede meter en una funci贸n.

El copy & paste es nuestro peor enemigo, hay que tenerlo en cuenta.

C贸digo reutilizable


La idea del c贸digo reusable nace de la necesidad de Don麓t repeat yourself o mejor conocido como DRY. Este nos ayudar谩 a prevenir bugs y tambi茅n, encontrar los m谩s f谩cil.

鈿 Copiar c贸digo ser谩 tu peor enemigo para tener un c贸digo f谩cil de mantener

De manera resumida, duplicar c贸digo no es bueno porque:
Aumenta innecesariamente el n煤mero de l铆neas de c贸digo, y est谩 comprobado que a m谩s l铆neas de c贸digo (no necesarias) m谩s complejo es el mantenimiento y m谩s r谩pidamente crece la entrop铆a.
Implica que si hay que cambiar ese c贸digo repetido鈥 hay que cambiarlo en muchos sitios. Hay que buscar todas las repeticiones. Y si se nos olvida cambiarlo en alg煤n sitio鈥 el software acaba siendo incoherente, 鈥渄iciendo鈥 cosas diferentes para la misma funcionalidad requerida. Por ello baja la productividad y aumenta la probabilidad de error.
Normalmente un problema de duplicaci贸n de c贸digo esconde un problema de, o de falta de, dise帽o software.

驴Por qu茅 copy pastear c贸digo es malo?

Al escribir codigo reutilizable nos ayuda a eliminar el codigo repetido y a mejorar la calidad de codigo generado.

Normalmente separa cada acci贸n en una funci贸n pero tengo vario c贸digo que puedo reutilizar encapsulando las funciones, buen aporte, tambi茅n le铆 que el numero de par谩metros a pasar a una funci贸n de preferencia es 1 o 2, m谩ximo tres, si se requieren mas, lo ideal es mandar un par谩metro como arreglo.

El ejemplo es muy claro. Normalizar los facilitar铆a realizar cambios al c贸digo de una forma mas optima y en menor tiempo.

Nota de la clase: poder escribir c贸digo posible de utilizar en diferentes ocasiones, se necesita que el c贸digo sea muy claro y aplicable en diferentes escenarios ya que puede recibe par谩metros, evitar el copiar y pegar, pues se arrastran c贸digo err贸neo o innecesario.

Un peque帽o truco; podemos utilizar el argumento 鈥rgs y un foreach para utilizar nuestra funcion sin importar el numero de argumentos que utilicemos:

		function sanitizarDatos(...$args){
				$datos = [];
				foreach($args as $arg){
						$datos[] = str_replace("?", '脩', $arg);
				}
				return $datos;
		}

Esto puede ser util para nuestra logica en diversos lugares, como aca:

list($empl_num,$nombre, $apaterno, $amaterno,$fecha) = sanitizarDatos($empl_num,$nombre, $apaterno, $amaterno, $fecha); 

Y aca:

list($horae,$horas,$horario) = sanitizarDatos($horae,$horas,$horario);

TIP:
Para tener un codigo mas reutilizables es importante no escribir funciones enormes que implementen toda la l贸gica de la aplicaci贸n, sino programar funciones peque帽as que se centren en problemas concretos, lo mismo con el dise帽o, seguramente en u futuro nos pediran cambio y es mejor tener 5 funciones de 10 lines que tener una sola de 100.

Concuerdo mucho con lo del copy&paste, ademas de que muchas veces no entendemos al 100% como funciona

Evita repetir c贸digo y crea una funci贸n que capture y retorne un par谩metro

eso de normalizar es muy importante, esta clase estuvo sencilla y de lujo.

Excelente grandisimo contenido, siempre repasar conceptos de clean code, calistenia, standares, buenas practicas, solid de veras esto junto con POO permiten el cambio de paradigma de un dev de jr a encaminarse a senior, felicidades tio @platzi no me sentia tan representado como PHP Developer, muuuuy contento

El escribir codigo reutilizables sin duda es mejor para comprender bien el c贸digo y que este mejor documentado. Pero en el caso especial de trabajar con un pic que tiene un stack limitado 驴no hay existe una forma de modularidad que solo la haga virtual pero en el c贸digo m谩quina la escriba las n veces que se llam贸?

Hola profesor Mauro (@mchojrin).

Tengo una pregunta de estilo. He notado que se usan comillas simples y/o dobles en el c贸digo (igual ocurre con los tabs y los espacios). Por estilo pienso que se deber铆a definir usar una o la otra. 驴Qu茅 opina al respecto?

Repetir c贸digo empeora la mantenibilidad. Cu谩ndo repites el c贸digo y tienes que cambiar algo debes ir a todas y cada una de las secciones d贸nde tu c贸digo est谩 repetido para cambiarlo y que no se pierda la nueva funcionalidad que estas trabajando. Evitar reinventar la rueda es primordial para asegurar la mantenibilidad. La reutilizaci贸n tambi茅n mejora las posibilidades de testear, entonces la reutilizaci贸n ayuda a mantener y probar nuestro c贸digo.

Codigo Reutilizable

internalizar uno de los conceptos principales del desarrollo de software:

del copy and paste es tu peor enemigo

Que pasa si necesitamos un m茅todo que ya existe pero que funcione un poco diferente? Digamos que haga lo que siempre hace pero que valore otras condiciones adicionales? Lo modifico? Mejor No! Mejor lo extiendes, creas un nuevo procedimiento que invoque al anterior pero que adem谩s siga valorando otros elementos, as铆 no pierdes la funcionalidad original que podr铆a requerirse id茅ntica en otros sitios. A menos claro, que la modificaci贸n solicitada o recomendad sea exactamente cambiar el comportamiento que se estaba dando por uno nuevo para que todo el sistema se impacte.

Antes hablaste de poner nombre explicativos a las funciones. Aqu铆 usaste una funci贸n 鈥榥ormalizar鈥 que reemplaza el 鈥?鈥 por una 鈥樏扁. Es muy amplio el nombre de la funci贸n 驴normalizar qu茅?. Lo que se escribe con la mano no se debe borrar con el codo

Hasta aqu铆 lleg贸 mi camino (por ahora), espero pronto pasar la barrera de los videos abiertos 馃槄馃槄馃槄
Me est谩 encantando este curso.

馃槑馃憤馃徎馃

Super la explicacion yo usaba mucho copy y paste

Vengo del futuro 馃槂 para los que estan por primera vez en esta clase.Este tema es un apregunta del examen.

Si detectas en tu c贸digo, datos quemados o que se repitan, lo mejor es normalizarlos, en PHP lo mas com煤n es crear funciones que reciban valores de par谩metros y retornar la soluci贸n.

Este caso si me parece bastante 煤til; sobretodo por que despu茅s podr铆amos utilizar un 鈥渟witch鈥 y normalizar no solo las 鈥溍扁 sino tambi茅n tildes u otros caracteres.

Un buen programador determina cuales son los problemas y cual es la soluci贸n m谩s optima para resolverlos, utilizando librerias creadas por otros programadores para no volver a reinventar la rueda.

OJO, no copiar y pegar.

Si me han dicho que aveces puedo meter cosas que se repiten a funciones

Excelente clase! 馃榾馃榾

Que bacano que es reutilizar el codigo 馃槂

El c贸digo ordenado y reutilizable siempre ayuda!

Codigo reutilizable
-El copy paste es malo
-Crear funciones con los mismos parametros que retornen los valores que necesitas en 2 o mas lugares y solo llamar esa funcion, asi se evita el codigo repetido en todo el sistema

Codigo Reutilizable = Escribir solo una vez y llamarlo en todos lados

  1. Codigo reutilizable
    Reutilizar codigo para al momento de cambiar algo, se haga el cambio general y no tener que realizar estos cambios varias veces

Esto nos ayuda a evitarnos muchos dolores de cabeza

Todo muy claro. Gracias

Tener un concepto mas abstracto, clave para tener en cuenta en nuestro codigo

**Codigo reutilizable: **

Est谩 muy relacionado con el concepto de c贸digo modular.
La idea es poder escribir c贸digo, que sea posible de utilizar en diferentes situaciones.
Para lograr eso hay que definir el objetivo del c贸digo y que pueda ser aplicable a esos diferentes escenarios.

En la pr谩ctica se logra desarrollando funciones que reciban par谩metros y devuelvan resultados.

El COPY PASTE es tu peor enemigo.
Cuando el c贸digo se va copiando y pegando, sucede que un error se va arrastrando hacia otros lugares, y nunca vas a estar seguro de que lo solucionaste por completo.
C贸mo sab茅s que ese error no est谩 todav铆a en otro lugar?

Codigo reutilizable

  1. Que el coigo sea muy claro dentro de su objetivo
  2. Que pueda ser aplicado a diferentes escenarios

Por ejemplo creando una funcion, se puede facilitar realizar un solo cambio y afectar muchas lineas de codigo. Por otro lado,
tambien se puede asignar un codigo filar por fila; pero al necesitar hacer un cambio se requerira hacerlo linea por linea.

la funci贸n normalizar quedar铆a mejor si le indicas los caracteres a reemplazar, y te servir铆a para otros escenarios.

function normalizar($c1, $c2, $campo){

return str_replace($c1, $c2, $campo);

}

cuando copias y pegas c贸digo se va arrastrando c贸digo y errores de un lugar a otro

resumen patatero, la reuzabilidad hace referencia a hacer funciones que resuelvan problemas lo mas general posibles y que se puedan repetir en diferentes llamados cambiando los parametros o mejor aun si no necesita parametros