Menos Código con estas Técnicas de Programación

  Рет қаралды 13,081

hdeleon.net

hdeleon.net

Күн бұрын

Пікірлер: 96
@hdeleonnet
@hdeleonnet Ай бұрын
Mis Cursos de Programación: hdeleon.net/cursos-premium/ Mi Libro de C#: hdeleon.net/libro-aprender-a-programar-con-c-hector-de-leon/
@Turko77777
@Turko77777 Ай бұрын
Para el último ejemplo, en casos numeros puedes utilizar la interfaz INumber public T Add(T a, T b) where T : INumber { return a + b; }
@jmdamas18
@jmdamas18 Ай бұрын
Tengo más de 12 años programado en C# y siempre que veo tus videos aprendo algo nuevo
@reflejoespejo5619
@reflejoespejo5619 Ай бұрын
Yo apenas tengo 6 meses y siento que no avanzo quiero comenzar a trabajar
@Hanielhernandez-eh7es
@Hanielhernandez-eh7es Ай бұрын
!Hola¡ Ya llevo 1 año utilizando c#, sin embargo me siento atascado, me podrías dar algún tipo? Por favor
@jmdamas18
@jmdamas18 Ай бұрын
@@Hanielhernandez-eh7es Ve los videos de este canal tiene muchos ejercicios que son fundamentos que se ocupan en proyectos reales y si puedes comprate el curso de patrones de diseño
@dhalfaraz
@dhalfaraz Ай бұрын
Siempre es util este tipo de consejos! Gracias, Hector!
@DjTitoxxVzla
@DjTitoxxVzla 29 күн бұрын
MAs como esto... muy bueno, algun otro video de buenas o malas practicas? agilizar consultas, usar la ventana de inmediato del visual studio que aun no se bien como usarla...
@germancillo777
@germancillo777 Ай бұрын
Excelente explicación, los genéricos está padre su uso y tú explicación
@alessandro864
@alessandro864 28 күн бұрын
Muy buen video como siempre. Una sugerencia: para el próximo video, has un vertical split y pon la nueva solución en este, de esta forma podemos comprar el código nuevo con el viejo más fácil
@arielcani85
@arielcani85 6 күн бұрын
Muy buen video Héctor. Está bueno lo del array de funciones para no plagar el código de switches, pero hay que considerar que es más lento porque tiene que consultar el array y ocupa más memoria RAM que el switch. Por eso hay que evaluar costo VS beneficio y en ciertos casos es mejor reemplazar el switch con polimorfismo, como bien mencionaste el patrón Strategy.
@damianjoel5833
@damianjoel5833 Ай бұрын
otra alternativa al dynamic puede ser indicando: where T : INumber aunque solo se puede usar a partir de NET 7, saludos crack
@ivanchuelo14
@ivanchuelo14 Ай бұрын
Siempre aprendo algo nuevo con Hector, por lo menos lo del patrón de diseño strategy no me lo conocía muchas gracias!
@hersokrock
@hersokrock 23 күн бұрын
Sos un máster! 🤘
@luisramirez8015
@luisramirez8015 Ай бұрын
Yo uso mas C++ pero me gusto lo del array de funciones. Podria usarlo para array de lambdas.
@hernan7243
@hernan7243 Ай бұрын
muy buen video!!! en la asignación del name podrias haber usa el operador ??= para seguir usando la misma variable category e imprimirla. category ??= "Otra"
@luis.espinoza
@luis.espinoza Ай бұрын
Excelente contenido, en la alternativa al switch, en algunos contextos, se podría usar un diccionario para una clave distinta a un int.
@kira1823
@kira1823 Ай бұрын
si, me parece mejor, porque la sintaxis de arreglo de funciones me parece peor que la del switch cuando hay muchos casos al no poder ver fácilmente que índice usar para obtener el comportamiento desado.
@josebenitez9442
@josebenitez9442 29 күн бұрын
Aprendí.👌
@ivanpaoloni7541
@ivanpaoloni7541 Ай бұрын
la de funciones genericas es algo que es muy util aunque no parezca, es decir el paso de tipos los utilizamos mucho en validaciones fluent, en interfaces genericas que implementa la interfaz de cada servicio, como un CRUD, repositorios, y mas
@byrontercero2367
@byrontercero2367 Ай бұрын
Si, para el ahorro de codigo es de gran ayuda los genericos en los CRUD
@taikun69
@taikun69 Ай бұрын
las funciones genericas evaluando el struct esa no me la sabia, y se ve muy util
@lufemega7137
@lufemega7137 Ай бұрын
Muy buen video Hector, no hay nada mejor que un codigo elegante
@IvanCujia
@IvanCujia Ай бұрын
Lo último lo sabía pero nunca lo había implementado así, siempre hice overwrite de funciones
@CharlDev
@CharlDev Ай бұрын
Gracias Cabeza, el patron estrategia es una maravilla para controlar multiples opciones de escenario.
@hernannequi
@hernannequi Ай бұрын
aprendiste algo? aprendi muchisimo!
@mto88a
@mto88a Ай бұрын
Lo del array de funciones está brutal
@C.F_Studio
@C.F_Studio Ай бұрын
muy bueno, me sirve xD!!
@luisestradamedina4420
@luisestradamedina4420 Ай бұрын
Maestro voy a probar lo de las actions en el switch case para mi app de menú hoy es viernes
@XaimeLuis
@XaimeLuis Ай бұрын
toma tu pulgar!
@sergiovaldivieso2215
@sergiovaldivieso2215 Ай бұрын
excelente informacion, me gusto el array de actions
@josephmoreno9733
@josephmoreno9733 Ай бұрын
En .NET 7+ puedes utilizar la interfaz IAdditionOperators porque en realidad dynamic es una mala práctica a nivel de rendimiento ya que sólo hasta que se ejecuta la función y se intenta ejecutar esa línea el sistema podrá saber cómo la ejecuta por lo que siempre se compila (se vuelve lenguaje interpretado). En un entorno con JIT no debería representar mucho problema si no se abusa de este recurso (porque la gracia del CLR es en general tener instrucciones deterministas una vez se interprete el IL) pero en un entorno AOT sería imposible de lograr pues todo debe estar estáticamente compilado.
@tetormanhbr
@tetormanhbr Ай бұрын
Excelente video.👍
@atpayero
@atpayero Ай бұрын
Muy buen video.
@omega_dev
@omega_dev Ай бұрын
Gran video hermoso
@BlockiestfiberMax
@BlockiestfiberMax Ай бұрын
Estuve usando esta práctica y funcionan de maravilla hasta logré juntar 30 métodos en uno, con pocas líneas de codigos
@sito0195
@sito0195 Ай бұрын
Aprendí muchísimo me ha servido
@pedroacostamolina7621
@pedroacostamolina7621 Ай бұрын
Actions y Cool!
@Inquicidor
@Inquicidor Ай бұрын
Excelente video, Excelente explicación
@jackanthonyaguilarcabrera1286
@jackanthonyaguilarcabrera1286 Ай бұрын
Todas esas venía usando, lo que hay que tener cuidado es al usar programación funcional.
@Elpandainternacioify
@Elpandainternacioify Ай бұрын
Muy buenos consejos, gracias.
@nelson3391
@nelson3391 Ай бұрын
Excelente, muchas gracias.
@jhordanloaisigaflores6237
@jhordanloaisigaflores6237 Ай бұрын
Está cool
@JorgeHernandez-zy7kn
@JorgeHernandez-zy7kn Ай бұрын
Aprendi algo!!!!
@harimdeleo6056
@harimdeleo6056 Ай бұрын
Siempre aprendiendo algo nuevo! Y que también Nicolás es un 🦖 y Moure mide 1.46
@alejandrocastaneda3736
@alejandrocastaneda3736 Ай бұрын
excelente contenido
@EduardoLopez-zc9mj
@EduardoLopez-zc9mj Ай бұрын
en el switch, el if/else que pusiste, pudiste haber escrio esa parte con un operador ternario.. quedando esa parte a una linea en lugar de 8 😎
@hdeleonnet
@hdeleonnet Ай бұрын
Así es, gracias
@DayronAlvarezBGonzalezSnowdenD
@DayronAlvarezBGonzalezSnowdenD Ай бұрын
Que nos hacemos sin Héctor
@iturraldec
@iturraldec Ай бұрын
excelente! gracias!
@aibou2399
@aibou2399 Ай бұрын
LINQ está bueno para simplificar código, pero un consejo que puedo dar, es hacer benchmark si la performance de esa función es importante, porque hay veces que es menos performante LINQ que un foreach.
@__cpmarcelo
@__cpmarcelo Ай бұрын
Muy buen video Pero yo recomiendo siempre tratar de dejar de usar else
@gerbosan
@gerbosan Ай бұрын
Me escuece que esté en C#. Pero como Java y C# son hermanos de diferente padre, seguro que lo mostrado se puede replicar. Muchas gracias!
@xsamueljr
@xsamueljr Ай бұрын
Te pierdes mucho contenido de calidad si necesitas que esté en tu lenguaje. Yo ni sé C# y aprendo mucho igual
@elimarchanparra8161
@elimarchanparra8161 Ай бұрын
Bro si sabes Java entiendes claramente lo que esta haciendo porque eso también se ve en Java: Genéricos, Programación Funcional, Operadores Ternarios. Lo que cambia es el azúcar sintáctico propio de C# pero el fundamento es el mismo, yo no se nada de C# pero entiendo muy bien lo que esta haciendo, por eso es importante aprender conceptos en vez de código. Saludos!!
@fdov4
@fdov4 Ай бұрын
Exquisito video, menos código… más gatitos!
@joserubenrodriguezfuentes
@joserubenrodriguezfuentes Ай бұрын
Creo qué en Súper Collider basado en C y otro qué no recuerdo haces un envolvente de frecuencias de sonido en un todo para no hacerlo cada uno x separado súper collider es software para producción musical y audiovisual
@luismendez3984
@luismendez3984 Ай бұрын
Veré si aplico el punto del case ya tenemos algunos que se están volviendo infinitos
@enmanuelreyes3677
@enmanuelreyes3677 Ай бұрын
Yo también vengo de esa época, aplicativos y librerías jjjh
@Salierix
@Salierix Ай бұрын
En PHP se puede?
@joselinemojica9460
@joselinemojica9460 Ай бұрын
Me cae super bien jajajaj
@BuhogatoFilms
@BuhogatoFilms Ай бұрын
🔥
@kevinduran847
@kevinduran847 Ай бұрын
Gracias 🎉 Que guapo te vez hoy.
@gantonal
@gantonal Ай бұрын
El caso de los switch, eso está muy bien para enumerados consecutivos pero ¿Cómo actuas si tienes, por ejemplo, órdenes? Imagina que tienes una public void OperarConFichero(string accion, string rutaFichero) donde acción puede ser "Copiar", "Mover", "Borrar" ¿Cómo pasamos esos cases o ifs a Action[]?
@Turko77777
@Turko77777 Ай бұрын
public void OperarConFichero(string accion, string rutaFichero) { Action resutl = accion switch { "copiar" => () => copiar(rutaFichero), "mover" => () => mover(rutaFichero), _ => throw new Exception("Acción no reconocida") }; resutl(); }
@Turko77777
@Turko77777 Ай бұрын
Otra forma es separar el action del void: public void OperarConFichero(string accion, string rutaFichero) => GetOpration(accion, rutaFichero)(); public Action GetOpration(string accion, string rutaFichero) => accion switch { "copiar" => () => copiar(rutaFichero), "mover" => () => mover(rutaFichero), _ => throw new Exception("Acción no reconocida") }
@d4rkb0x
@d4rkb0x Ай бұрын
Fue como un regaño con cariño 😅
@crateflexwave15
@crateflexwave15 Ай бұрын
En el patrón strategy no veo que se “reduzca” código. Más bien veo más ordenado. Antes que tener un switch con código que lo tienes que leer para saber que hacen, tienes un array (que lo podrías poner un nombre a cada función incluso). Incluso podrías mantener el switch y ejecutar según la key que tengas y listo. Resumen más que reducir, se ordena mejor el código
@hdeleonnet
@hdeleonnet Ай бұрын
Es una equivalencia con programación funcional a strategy, no es strategy.
@omarl7333
@omarl7333 Ай бұрын
Aprendi algo
@thebread8918
@thebread8918 Ай бұрын
Resumen del video: " ?"
@enriquesmr
@enriquesmr 24 күн бұрын
Y se ve tan joven. ¡Qué bien conservado está! 🤣🤣
@oDanielCcz
@oDanielCcz Ай бұрын
la edad de Nicholas Schurman xddddd
@AndresitoGamesAndres
@AndresitoGamesAndres Ай бұрын
Ay, ¡Qué guapo te ves hoy!
@gerasc7027
@gerasc7027 Ай бұрын
0:44 Pensé que era más grande jeje
@joseguerra2389
@joseguerra2389 Ай бұрын
Alv. Hubo 2 o 3 q no los conocia. Yo trabajo con python. Pero si es verdad que siempre q puedas usar prog funcional es mejor hacerlo porq son algoritmos q ya estan optimizados y va a ser que tu codigo funcione mejor y utilice menos memoria.
@BBOY4NT4
@BBOY4NT4 Ай бұрын
string aprendisteAlgo = "bien" ?? "ver de vuelta";
@DiegoGarcia-tx4mx
@DiegoGarcia-tx4mx Ай бұрын
yo tambien soy viejo, me dijo un integrante de mi equipo, puro viejo toma cafe negro jajaja
@JuanGarcia-ng3ym
@JuanGarcia-ng3ym Ай бұрын
yo no se que pasa que cuanto menos código escribo al final termino escribiendo más código
@jostinmadriz6823
@jostinmadriz6823 Ай бұрын
Aprendí algo, ahora enséñame a conseguir un trabajo jajaja 😂
@guillermocalfuqueo6338
@guillermocalfuqueo6338 Ай бұрын
Ay qué guapo te ves hoy 👍
@jorgeantoniozepedaramirez2382
@jorgeantoniozepedaramirez2382 Ай бұрын
Hay que guapo te vez hoy!.
@xsamueljr
@xsamueljr Ай бұрын
¿No pierdes algo de seguridad de tipos con lo último? Se podría ejecutar con algo que no admita sumas creo PD: Ay qué guapo te ves hoy
@hdeleonnet
@hdeleonnet Ай бұрын
Entonces usa where INumber
@Miguel_Castaneda
@Miguel_Castaneda Ай бұрын
Gracias Héctor! Por el video como siempre de calidad
@armandopereztorres3634
@armandopereztorres3634 Ай бұрын
Yo pensaba que Nicolas Schurman tenía 180, esta más joven entonces.
@FranciscoOcampoRomero
@FranciscoOcampoRomero Ай бұрын
Ay, que guapo te ves hoy!!
@ricardourzuarojas691
@ricardourzuarojas691 Ай бұрын
que guapo
@genarolapoyeu6185
@genarolapoyeu6185 Ай бұрын
Hay que guapo te ves hoy😂
@divanemix
@divanemix Ай бұрын
Como?ya no se llaman librerías ni aplicaciones 😮😮😮, tonces soy vieja😂😂😂
@MiguelAbstra
@MiguelAbstra Ай бұрын
Al que le pagan por líneas de código: Está información no vale millones
@BreegBenjamin
@BreegBenjamin Ай бұрын
Que trucazos
Casi Pierdo mi Trabajo por un Try Catch
9:32
hdeleon.net
Рет қаралды 63 М.
Programación con Generics en C# .NET
20:56
hdeleon.net
Рет қаралды 7 М.
ТЫ В ДЕТСТВЕ КОГДА ВЫПАЛ ЗУБ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,5 МЛН
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 11 МЛН
¿¡Cómo es este sitio web TAN RÁPIDO!?
15:58
midulive
Рет қаралды 202 М.
¿Cuál fue REALMENTE el primer lenguaje de programación?
16:47
Coding Unbreakable Encryption in C | One-Time Pad
17:42
HirschDaniel
Рет қаралды 4,3 М.
Lo MÁS DIFÍCIL de APRENDER en PROGRAMACIÓN!
13:30
hdeleon.net
Рет қаралды 15 М.
C#'s Best features you might not be using
31:20
dotnet
Рет қаралды 21 М.
Cómo aprender Arquitectura de Software en Codely en 2025 | #laFunción 10x04
1:00:44
CodelyTV - Redescubre la programación
Рет қаралды 5 М.
Cosas que NO SABES de C#
16:17
hdeleon.net
Рет қаралды 15 М.
¡Utilizas MAL la Asincronía!
10:21
hdeleon.net
Рет қаралды 28 М.
¿Foreign Keys Lentos? Soluciones que te Aumentarán el Sueldo
15:25
El Patrón MVC es Obsoleto
16:30
hdeleon.net
Рет қаралды 32 М.
ТЫ В ДЕТСТВЕ КОГДА ВЫПАЛ ЗУБ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,5 МЛН