Aaron Yamil Luna Parrado
Bernardo Aguayo Ortega
Jaime Virrueta Fuentes
Los identificadores son variables, funciones, clases, módulos, componentes, etc. Elementos a los que nosotros debamos crearles un nombre propio.
Ejemplo sin un identificador mnemotécnico una función se vería así:
function f( int $b, int $a ) : float { return ( $b * $a ) / 2; }
Al leer este código no sabemos para qué funciona y hasta podríamos borrarlo por equivocación.
Ahora utilizando un identificador mnemotécnico se vería así:
function areaRectangulo( int $base, int $altura ) : float { return ( $base * $altura ) / 2; }
Ahora gracias a que el código es más legible sabemos para qué funciona esta función.
Atención a los identificadores que estableces.
Aaron Yamil Luna Parrado
Bernardo Aguayo Ortega
Jaime Virrueta Fuentes
Armando Rivera
Juan Luis Rojas León
Usuario anónimo
UserMarco Alexander Mateo Mateo
Daniel Alejandro Contreras Suárez
Ricardo Rito Anguiano
Carlos Eduardo Gomez García
Ivan Martinez
Juan Pablo Campuzano Monsalve
Ricardo Antonio Rodriguez Valdez
Bernardo Aguayo Ortega
María Sierra
Andrés Felipe Lopez gomez
Sergio Estrella
ProfesorChristian David Sánchez
Andres Ramirez Restrepo
César Gómez
Martin Campos
Jhon Alexander Alvarez Romero
Juan Castro
ProfesorArmando Rivera
Juan Pena Verdú
Mauro Chojrin
ProfesorJorge Zerpa
Darwin Walther Rey Cala
Jesús Alberto Durán Cámara
Jose Antonio Alatorre Chavez
Cristian Ruben Pereyra
Efraín Hernández García
Danilo Fernandez
Juan Carlos Pinzón
CASAREZ HINOSTROZA ANGEL ARIEL
GARCIA CAMARENA EZEQUIEL
1 hora para poner el nombre a la variable o función. 5 minutos para crear la funcionalidad requerida. :)
si pasa jajaja
jejeje cuantas veces me ha pasado eso mismo ...
En el primer ejemplo dice que es la sucesión de fibonacci pero en realidad lo que hace es calcular el factorial de un número, led dejo las funciones para calcular el factorial y la serie de fibonacci.
def fac(num): if (num==0 or num==1): return 1 else: return num*fac(num-1) def fibonacci(num): if (num==1 or num==2): return 1 else: return fibonacci(num -1) + fibonacci(num-2) print(fac(5)) print(fibonacci(10))```
Me encantan los problemas resueltos con recursividad.
¡Excelente aporte!
La Sucesión de Fibonacci :)
int fibonacci(int number){ if(number < 2){ return number; }else{ return fibonacci(number - 1) + fibonacci(number - 2) } }
El algoritmo de fibonacci no es un buen caso para usar recursividad, a menos que uses memoizacion.
Con memorización se refiere a esto :D
def faster_fibonacci(num, memory={}): if num == 0 or num == 1: return 1 try: return memory[num] except KeyError: print(num) local_result = faster_fibonacci(num - 1, memory) + faster_fibonacci(num - 2, memory) memory[num] = local_result return local_result
Poner mal los nombres es un problema, porque luego te pasa que te encuentras esa función y dices: "¿Por qué estoy calculando el área de un rectángulo? Si necesito la de un triángulo, como sea ,por algo será" y la dejas ahí por miedo a modificarlo y romper el código xD
Igual nombrar algo es difícil, yo lo que hago es preguntarme: "¿Qué es lo que esta función hace?" y con base en esa pregunta tratar de llegar a un nombre
Tenes razón, en ocasiones se aplica el dicho "si funciona asi, se deja asi", ya sea que tenga o no tenga sentido. Y por miedo a dañar algo, lo dejamos quieto.
O a veces cuando tenemos una función que tiene un montón de procesos diferentes y en lugar de modular y seccionar esa función en varias funciones, está todo dentro de un solo bloque de código con un nombre de función super extraño! jajaja
100% de acuerdo, me puse a ver mis scripts anteriores 2008-2013 de bash y de redes, para nada entendibles, pero ahora que estoy en esto de la programacion full, entiendo mas que nunca la necesidad de usar un estandar.
estas creciendo como programador hermano
Identificadores mnemotécnicos, específicos y precisos
💡 Recuerda: Atención a los identificadores que creas, es importante que estos sean explicativos y podamos entender que es lo que hacen o contiene.
Muchas gracias por el apote
Pasar 10 minutos haciendo el procedimiento de tu función, pero pasar una hora pensando en el nombre de la misma. Suele pasar 😅
Los identificadores deben ser legibles y entendibles rapidamente.
var area = await context.Areas.FindAsync(id); var datoExiste = area == null;
Veo que no hablo mucho de los comentarios y documentación del código. Pero creo que eso también hacer parte de la legibilidad del código.
En efecto, la documentación del código fuente es importante tenerlo presente. Desde mi punto de vista, sugiero documentar aquello que sea sumamente esencial en un futuro, y no "línea por línea" como solía hacer al principio.
Como pequeño dato las variables que son llamadas de la forma como se muestran (areaRectangulo) se le conoce notación de camello(CamelCase).
Que curso si me explica el tema del borrado de cache
¡Hola!
El cache es un tema muy general. ¿Buscas información sobre cache en el servidor o en el navegador? Si es en el servidor, ¿en qué lenguaje?
Algunos de estos recursos te pueden ayudar: https://platzi.com/search/?search=cache&filter=material-video.
¿Qué opinan sobre los returns dentro del else en los sigueintes ejemplos?
def fac(num): if (num==0 or num==1): return 1 else: return num*fac(num-1) def fibonacci(num): if (num==1 or num==2): return 1 else: return fibonacci(num -1) + fibonacci(num-2)
Creen que es mejor omitir los else como en el siguiente código
def fac(num): if (num==0 or num==1): return 1 return num*fac(num-1) def fibonacci(num): if (num==1 or num==2): return 1 return fibonacci(num -1) + fibonacci(num-2)
Sin duda es mejor omitir el else en el ejemplo que planteas. Otra opción sería inicializar una variable resultado que atraviese el flujo de decisiones y siempre sea retornado al final de la función, de esta forma tendrías un único return.
Personalmente no veo mal ninguna de las dos. Lo que sí sería malo sería la mezcla (Es decir: o siempre poner los else o nunca hacerlo).
"es obvio que calcula la sucesión de Fibonacci" AJAAJAJAJAJAJAJAJ
Recomendación: Que el código este escrito en un único lenguaje y no en Espanglish como en los ejemplos
String Nombredelamesaquesevaavender = " ";
jajajaja
areaTriangulo = areaRectangulo
maldaaaaaaad!
😂 Lo dejaré por aquí...
Es buena práctica escribir nombres de las funciones en español? o siempre debe ser ingles preferentemente?
Creo que es mejor en ingles, así cuando estemos en Europa o EEUU, nos entiendan. jejeje
Es más factible en inglés pues en español quizás nos encontremos con ambiguedades, además de por lo general y está bien visto de que se haga en inglés pues esto nos abre la puerta a que cualquiera pueda leer nuestro código y más cuando lo hace público en los repositorios.
Buena practiva pedir a un compañero que te lea el codigo y explique, para saber si realmente estamos haciendo un codigo entendible.
Notas: Problemas difíciles en la programación son es invalidar chaces y Nombrar cosas. Nos enfocaremos en el segundo en el curso. Identificador: puede ser una variable, clases, funciones, módulos, componentes, etc. son cualquier cosa que creamos en el código. Tenemos que realizar bien los nombres de lo que declaramos. Los nombres tienen que ver con lo que va ser la función o para que se van a utilizar los nombres de las cosas. Recuerda que debes tener en cuenta los identificadores en la evolución del código pues estos también deben de evolucionar.