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

Поделиться
HTML-код
  • Опубликовано: 20 окт 2024

Комментарии • 87

  • @hdeleonnet
    @hdeleonnet  9 дней назад +2

    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 2 дня назад +1

    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 8 дней назад +6

    Tengo más de 12 años programado en C# y siempre que veo tus videos aprendo algo nuevo

    • @reflejoespejo5619
      @reflejoespejo5619 8 дней назад +1

      Yo apenas tengo 6 meses y siento que no avanzo quiero comenzar a trabajar

    • @Hanielhernandez-eh7es
      @Hanielhernandez-eh7es 4 дня назад +1

      !Hola¡ Ya llevo 1 año utilizando c#, sin embargo me siento atascado, me podrías dar algún tipo? Por favor

    • @jmdamas18
      @jmdamas18 4 дня назад

      @@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

  • @ivanpaoloni7541
    @ivanpaoloni7541 3 дня назад +1

    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 3 часа назад

      Si, para el ahorro de codigo es de gran ayuda los genericos en los CRUD

  • @germancillo777
    @germancillo777 9 дней назад +5

    Excelente explicación, los genéricos está padre su uso y tú explicación

  • @damianjoel5833
    @damianjoel5833 9 дней назад +9

    otra alternativa al dynamic puede ser indicando: where T : INumber aunque solo se puede usar a partir de NET 7, saludos crack

  • @taikun69
    @taikun69 2 дня назад

    las funciones genericas evaluando el struct esa no me la sabia, y se ve muy util

  • @Inquicidor
    @Inquicidor 4 дня назад

    Excelente video, Excelente explicación

  • @nelson3391
    @nelson3391 5 дней назад

    Excelente, muchas gracias.

  • @luis.espinoza
    @luis.espinoza 9 дней назад +3

    Excelente contenido, en la alternativa al switch, en algunos contextos, se podría usar un diccionario para una clave distinta a un int.

  • @ivanchuelo14
    @ivanchuelo14 9 дней назад +2

    Siempre aprendo algo nuevo con Hector, por lo menos lo del patrón de diseño strategy no me lo conocía muchas gracias!

  • @lufemega7137
    @lufemega7137 9 дней назад +1

    Muy buen video Hector, no hay nada mejor que un codigo elegante

  • @sergiovaldivieso2215
    @sergiovaldivieso2215 9 дней назад +1

    excelente informacion, me gusto el array de actions

  • @Elpandainternacioify
    @Elpandainternacioify 7 дней назад

    Muy buenos consejos, gracias.

  • @CharlDev
    @CharlDev 8 дней назад

    Gracias Cabeza, el patron estrategia es una maravilla para controlar multiples opciones de escenario.

  • @hernan7243
    @hernan7243 6 дней назад

    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"

  • @BlockiestfiberMax
    @BlockiestfiberMax 8 дней назад

    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 9 дней назад

    Aprendí muchísimo me ha servido

  • @luisramirez8015
    @luisramirez8015 8 дней назад +1

    Yo uso mas C++ pero me gusto lo del array de funciones. Podria usarlo para array de lambdas.

  • @pedroacostamolina7621
    @pedroacostamolina7621 9 дней назад +1

    Actions y Cool!

  • @luisestradamedina4420
    @luisestradamedina4420 8 дней назад

    Maestro voy a probar lo de las actions en el switch case para mi app de menú hoy es viernes

  • @iturraldec
    @iturraldec 8 дней назад

    excelente! gracias!

  • @IvanCujia
    @IvanCujia 8 дней назад

    Lo último lo sabía pero nunca lo había implementado así, siempre hice overwrite de funciones

  • @mto88a
    @mto88a 9 дней назад +1

    Lo del array de funciones está brutal

  • @atpayero
    @atpayero 7 дней назад

    Muy buen video.

  • @alejandrocastaneda3736
    @alejandrocastaneda3736 9 дней назад

    excelente contenido

  • @josephmoreno9733
    @josephmoreno9733 8 дней назад

    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.

  • @gerbosan
    @gerbosan 9 дней назад

    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 9 дней назад +1

      Te pierdes mucho contenido de calidad si necesitas que esté en tu lenguaje. Yo ni sé C# y aprendo mucho igual

    • @elimarchanparra8161
      @elimarchanparra8161 9 дней назад

      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!!

  • @DayronAlvarezBGonzalezSnowdenD
    @DayronAlvarezBGonzalezSnowdenD 9 дней назад +1

    Que nos hacemos sin Héctor

  • @C.F_Studio
    @C.F_Studio 8 дней назад

    muy bueno, me sirve xD!!

  • @Miguel_Castaneda
    @Miguel_Castaneda 8 дней назад

    Gracias Héctor! Por el video como siempre de calidad

  • @EduardoLopez-zc9mj
    @EduardoLopez-zc9mj 8 дней назад +1

    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 😎

  • @omega_dev
    @omega_dev 8 дней назад

    Gran video hermoso

  • @hernannequi
    @hernannequi 9 дней назад +3

    aprendiste algo? aprendi muchisimo!

  • @harimdeleo6056
    @harimdeleo6056 9 дней назад +1

    Siempre aprendiendo algo nuevo!
    Y que también Nicolás es un 🦖 y Moure mide 1.46

  • @XaimeLuis
    @XaimeLuis 9 дней назад +1

    toma tu pulgar!

  • @jackanthonyaguilarcabrera1286
    @jackanthonyaguilarcabrera1286 9 дней назад

    Todas esas venía usando, lo que hay que tener cuidado es al usar programación funcional.

  • @aibou2399
    @aibou2399 8 дней назад

    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.

  • @Salierix
    @Salierix 8 дней назад

    En PHP se puede?

  • @__cpmarcelo
    @__cpmarcelo 22 часа назад

    Muy buen video
    Pero yo recomiendo siempre tratar de dejar de usar else

  • @luismendez3984
    @luismendez3984 9 дней назад +1

    Veré si aplico el punto del case ya tenemos algunos que se están volviendo infinitos

  • @jhordanloaisigaflores6237
    @jhordanloaisigaflores6237 9 дней назад +1

    Está cool

  • @JorgeHernandez-zy7kn
    @JorgeHernandez-zy7kn 2 дня назад

    Aprendi algo!!!!

  • @joserubenrodriguezfuentes
    @joserubenrodriguezfuentes 9 дней назад

    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

  • @fdov4
    @fdov4 9 дней назад

    Exquisito video, menos código… más gatitos!

  • @gantonal
    @gantonal 9 дней назад

    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 2 дня назад +1

      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 2 дня назад +1

      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")
      }

  • @enmanuelreyes3677
    @enmanuelreyes3677 9 дней назад +1

    Yo también vengo de esa época, aplicativos y librerías jjjh

  • @d4rkb0x
    @d4rkb0x 9 дней назад

    Fue como un regaño con cariño 😅

  • @crateflexwave15
    @crateflexwave15 9 дней назад

    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  9 дней назад +1

      Es una equivalencia con programación funcional a strategy, no es strategy.

  • @kevinduran847
    @kevinduran847 6 дней назад

    Gracias 🎉
    Que guapo te vez hoy.

  • @joselinemojica9460
    @joselinemojica9460 8 дней назад

    Me cae super bien jajajaj

  • @BuhogatoFilms
    @BuhogatoFilms 9 дней назад

    🔥

  • @thebread8918
    @thebread8918 9 дней назад +20

    Resumen del video: " ?"

  • @oDanielCcz
    @oDanielCcz 9 дней назад +2

    la edad de Nicholas Schurman xddddd

  • @omarl7333
    @omarl7333 6 дней назад

    Aprendi algo

  • @gerasc7027
    @gerasc7027 8 дней назад

    0:44 Pensé que era más grande jeje

  • @DiegoGarcia-tx4mx
    @DiegoGarcia-tx4mx 6 дней назад

    yo tambien soy viejo, me dijo un integrante de mi equipo, puro viejo toma cafe negro jajaja

  • @joseguerra2389
    @joseguerra2389 8 дней назад

    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.

  • @AndresitoGamesAndres
    @AndresitoGamesAndres 9 дней назад +1

    Ay, ¡Qué guapo te ves hoy!

  • @JuanGarcia-ng3ym
    @JuanGarcia-ng3ym 8 дней назад

    yo no se que pasa que cuanto menos código escribo al final termino escribiendo más código

  • @jostinmadriz6823
    @jostinmadriz6823 8 дней назад

    Aprendí algo, ahora enséñame a conseguir un trabajo jajaja 😂

  • @BBOY4NT4
    @BBOY4NT4 8 дней назад +1

    string aprendisteAlgo = "bien" ?? "ver de vuelta";

  • @armandopereztorres3634
    @armandopereztorres3634 2 дня назад

    Yo pensaba que Nicolas Schurman tenía 180, esta más joven entonces.

  • @xsamueljr
    @xsamueljr 9 дней назад

    ¿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  9 дней назад

      Entonces usa where INumber

  • @jorgeantoniozepedaramirez2382
    @jorgeantoniozepedaramirez2382 6 дней назад +1

    Hay que guapo te vez hoy!.

  • @guillermocalfuqueo6338
    @guillermocalfuqueo6338 8 дней назад +1

    Ay qué guapo te ves hoy 👍

  • @MiguelAbstra
    @MiguelAbstra 8 дней назад

    Al que le pagan por líneas de código: Está información no vale millones

  • @FranciscoOcampoRomero
    @FranciscoOcampoRomero 5 дней назад

    Ay, que guapo te ves hoy!!

  • @genarolapoyeu6185
    @genarolapoyeu6185 9 дней назад

    Hay que guapo te ves hoy😂

  • @divanemix
    @divanemix 8 дней назад +1

    Como?ya no se llaman librerías ni aplicaciones 😮😮😮, tonces soy vieja😂😂😂

  • @ricardourzuarojas691
    @ricardourzuarojas691 8 дней назад

    que guapo

  • @BreegBenjamin
    @BreegBenjamin 9 дней назад +1

    Que trucazos