4 razones por las que tu código APESTA

  Рет қаралды 74,357

BettaTech

BettaTech

Күн бұрын

Пікірлер: 99
@JSMonroe3
@JSMonroe3 2 жыл бұрын
Tu código no puede apestar si no haces código 😎👌
@HolaMundoDev
@HolaMundoDev 2 жыл бұрын
Gran video! esos code smell toca refactorizarlos!
@BettaTech
@BettaTech 2 жыл бұрын
A limpiar el código!
@guillermowars7635
@guillermowars7635 2 жыл бұрын
Se viene colabo? 👀
@manuelaranguri630
@manuelaranguri630 2 жыл бұрын
A
@wynegs.rhuntar8859
@wynegs.rhuntar8859 2 жыл бұрын
@@guillermowars7635 Buenísimo si es así!
@geronimo7261
@geronimo7261 2 жыл бұрын
Muy buen video, hace unos meses entré a un nuevo trabajo y lastimosamente el proyecto en el que me tocó entrar (un proyecto de ya varios años), había code smell por todas partes, ahora hemos empezado un nuevo proyecto desde 0 y decidí tomar las riendas del desarrollo para guiar a los que están conmigo y evitar estos problemas, saludos desde Argentina!
@leonardovemos7490
@leonardovemos7490 2 жыл бұрын
Sería genial que hagas un vídeo sobre la infraestructura detrás de Netflix o de todas las plataformas de Streaming como Prime Video, HBO Max, Disney +, etc
@gpcardano
@gpcardano 2 жыл бұрын
Gran vídeo. Es importante apuntar que introducir code smells no te hace necesariamente un mal desarrollador. Me explico. En proyectos lo suficientemente grandes suelen ir apareciendo de forma silenciosa y progresiva (a mí me termina pasando con las Clases Gigantes). Lo importante es darse cuenta e ir refactorizando de vez en cuando para aplicar soluciones según vayan apareciendo.
@davidmataviejo3313
@davidmataviejo3313 2 жыл бұрын
Excelente video, muchas gracias! Por favor no dejes de subir videos de patrones de diseño. Tus explicaciones y ejemplos realmente me ayudan a entenderlos.
@agustinlazo1831
@agustinlazo1831 2 жыл бұрын
Hola martín, que buen video y aporte al desarrollo profesional. Como siempre muchas gracias por compartir tus conocimientos!! Saludos 🖖
@Zhiel01
@Zhiel01 2 жыл бұрын
1:07 Que buen detalle de edición!
@s4vitar
@s4vitar 2 жыл бұрын
¿Me estás tratando de decir que huelo mal?
@BettaTech
@BettaTech 2 жыл бұрын
Hueles a rosas
@mariosarmientos6991
@mariosarmientos6991 2 жыл бұрын
que nefastas esas personas que dejan código muerto, inaceptable! *procede a empezar a quitar toneladas de código muerto de sus proyectos*
@andresbustamante972
@andresbustamante972 2 жыл бұрын
Me encantan tus videos hablando de escribir código más limpio.
@BYRLMEJOR
@BYRLMEJOR 2 жыл бұрын
en el minuto 6 yo tengo mi carpeta utils donde dejo mis funciones, clases o codigos pequeños que son utiles pero a lo mejor no los utilizo actualmente. hasta el proximo refactor general me gusta tenerlos. por ejemplo, subir una imagen al servidor? porque no desarrollar otra funcion para standarizar la calidad de las imagenes o una funcion para asignar nombres a archivos. Lo dejo ahi antes de utilizarlo y la verdad me va bien a la hora de trabajar en otra parte del codigo y revisar las antiguas soluciones planteadas, normalmente las hago desde cero pero siempre me ayudan con ese enfoque extra que hacia falta
@DonDregon
@DonDregon 2 жыл бұрын
Traducción a programación funcional para los que usamos React con Hooks, Next JS o simplemente cualquier cosa JS con funcional + imperativa. Lo de crear clases específicas podéis hacerlo igualmente, que para algo JS es multiparadigma, si no queréis añadir clases, de igual modo podéis generar funciones que devuelvan objetos custom con la estructura de datos que necesitéis. Cuando se habla de clases gigantes, aplicable también a funciones gigantes (los componentes son también funciones). Recordad los dos conjuntos de principios más importantes del desarrollo de software: SOLID y KISS. El último code smell en programación funcional se soluciona rápido con una carpeta utils en cada contexto, esto es core/utils, api/utils (o api/users/utils) y dentro un fichero por cada conjunto de utils que tenga sentido mantener juntos. i.e. core/utils/images (convertir a base64, manipulaciones etc), core/utils/criptography (funciones para hashear passwords etc). ** Flies away **
@RDCST
@RDCST 2 жыл бұрын
Nunca utilice control de versiones, he visto que algunos entornos tienen pero como siempre estoy corriendo a contra reloj no quiero arruinar lo que ya tengo hecho por probar algo nuevo.
@JesusFerVid94
@JesusFerVid94 2 жыл бұрын
Voy a aportar 2 _code smells_ más, de mi profesor de Videojuegos, relacionados entre ellos. El primero es obvio pero digno de mención: repetir código o tener bloques de código muy grandes para realizar una tarea. Por definición, la solución en ambos casos es convertir ese bloque en un método. Y luego el segundo. Tener una lista de if-else kilométrica. Mi profesor decía que las ristras de if-else eran el demonio en persona. Y los switches también eran malvados. Una solución que propuso para eso era crear una estructura para mapear. Es decir, vincular un input, una condición, un estado de variable... con una función. Y luego, en una sola línea, ejecutar la función asociada a dicho estado. En algunos lenguajes como C++ hay que meterse con punteros a función... en otros como Java es muy sencillo, literalmente ya existen Map, Predicate, Function, lambdas...
@fullgames926
@fullgames926 2 жыл бұрын
Te refieres a las funciones de órden superior como los callbacks no?
@papasdequesoxd3230
@papasdequesoxd3230 2 жыл бұрын
Para bloques de if/else podría aplicarse un patrón de diseño como Strategy
@JesusFerVid94
@JesusFerVid94 2 жыл бұрын
@@fullgames926 En JavaScript, por ejemplo, esa sería la forma. La cosa es que cada lenguaje pone su nomenclatura y forma de implementarlo, pero sí.
@JesusFerVid94
@JesusFerVid94 2 жыл бұрын
@@papasdequesoxd3230 Siempre que en cada if-else lo que haya sea una implementación (Estrategia) diferente. Si los if-else están puestos para crear objetos de un tipo u otro, igual interesa más un Abstract Factory, por ejemplo.
@wiedens-justociurlizza7766
@wiedens-justociurlizza7766 2 жыл бұрын
Muy pero muy util informativo, incluso en mis APIS REST paso 02 objetos. Disculpe ingeniero, somonse llama la herramienta en el 7:55 para revisar codigo que apeste ARQUE? nombre exacto por favor, trabajo con visual Code no con github, y hay herramientas para ver que CLASES O Id de elementos o script de css que no se estan usando? Por ejemplo un script que da color a un boton el cual no aparece en todo el sistema?
@ciltocruz
@ciltocruz 2 жыл бұрын
SonarQube
@jaimeciriacobeaumont1924
@jaimeciriacobeaumont1924 2 жыл бұрын
arc sirve si quieres venderte como programador en c# en Unity para una empresa de videojuegos? Si no es así conocen alguna plataforma para ello?
@toniduque4882
@toniduque4882 2 жыл бұрын
Nadie sabrá lo que es un código apestoso hasta que vean el mío.
@oldmanBig89
@oldmanBig89 2 жыл бұрын
Prefiero que mi codigo apeste y no apeste mi personalidad, como la clase de personas que son algunos programadores.
@ZohKrahM
@ZohKrahM 2 жыл бұрын
Trabajé en un proyecto donde habían métodos con más de 20 parámetros. Eran métodos donde se hacían insert/update a la base de datos, entonces cada columna de la tabla afectada estaba como parámetro en el método 🤦
@subwhite_73
@subwhite_73 2 жыл бұрын
XD, es que hay momentos donde el cerebro se desconecta ;v
@edeari
@edeari 2 жыл бұрын
Es curioso cómo el código que me encuentro en la empresa cumple prácticamente todos los code smells... Ojalá poder cambiarlo. Buen vídeo!
@fullgames926
@fullgames926 2 жыл бұрын
Eso es por rushear los proyectos
@matatabi_exe
@matatabi_exe 2 жыл бұрын
Que marca y modelo son las bocinas que tienes en tu pc en el escritorio ?
@fernandoacosta7356
@fernandoacosta7356 2 жыл бұрын
Gran video! Sería bueno que hablaras sobre los side effects, esas funciones que solo deberían regresar un valor, pero en el proceso te actualizan otros valores "globales" y no sabes ni por qué.
@GeekCyan
@GeekCyan 2 жыл бұрын
Gran video toda la razón, ojalá y en un futuro puedas abordar temas de testing y QA. Muchas gracias por tu contenido en cada vídeo siempre se aprende algo nuevo 💻⚛️
@relarbaelish
@relarbaelish 2 жыл бұрын
Con el tema de borrar funciones que no se usan tengo una duda. Si bien podemos recuperar una función borrada por Git, ¿hay herramientas para buscarla sin saber a qué commit pertenece?
@moisespineda1789
@moisespineda1789 2 жыл бұрын
La verdad eso es algo que me frustra mucho, siempre que hago codigo lo hago siendo muy basico para las funcionalidades sabiendo que hay maneras de ser consiso.... pero nunca se me ocurre la forma de implementar un codigo mejor.
@elturco9573
@elturco9573 2 жыл бұрын
Me apiado de los programadores que estan atados a trabajar con lenaguajes dinamicos. Cualquier compilador detecta codigo muerto, funciones o variables sin utilizar. Ademas dado de que los tipos de los parametros deben especificarse es mas facil discernir sobre que hace cada uno (con un buen nombre que ayude), pero en general todos los consejos tambien aplican, claro. Deberias continuar con Rust, al menos 2 veces por semana, que sino la proxima que quieras retomarlo vas a tener que empezar de nuevo, y la proxima empezar de nuevo, y la proxima.
@xdneos
@xdneos 2 жыл бұрын
Para la mayoría de las cosas que mencionaste es por lo que se utilizan linters para que te marque ese tipo de detalles en el editor, especialmente con lenguajes no fuertemente tipados como lo son JS
@erickjhormanromero6905
@erickjhormanromero6905 2 жыл бұрын
Que comentario sin sentido. Yo creo que eres de los que tira a veces esos code smell
@coulombio
@coulombio 2 жыл бұрын
A lo mejor es por eso que se llama Rust (Óxido en inglés), porque si lo dejas, te oxidas... :P
@misterl8129
@misterl8129 2 жыл бұрын
pleno 2022 y aun piensas que un lenguaje compilado son mejor, lol
@elturco9573
@elturco9573 2 жыл бұрын
@@misterl8129 yo no dije eso xd
@batdevilhugo
@batdevilhugo 2 жыл бұрын
Sinceramente es el mejor canal, aprendo mucho de esos detalles, saludos desde Bolivia
@TheBlackKaiser509
@TheBlackKaiser509 2 жыл бұрын
Tiene BettaTech algún video de lenguaje ensamblador?
@JesusFerVid94
@JesusFerVid94 2 жыл бұрын
4:58 Me ha picado la curiosidad. En ese código, entiendo que 0.1 es 0.1, y 0.2 es 0.2. Pero me pierdo en la parte en la que sumas 0.1 + 0.2 y no da _exactamente_ 0.3. Comprendo que después la expresión booleana devuelva _False_ si la operación no da 0.3 exactamente. Pero ¿cuál es la explicación? Si fueran variables, lo entendería. Podrían tener diferentes tipos, con sus diferentes precisiones, y no dar justo el mismo valor. Pero estás escribiendo 0.1 y 0.2 en forma de _literales._ Me pierdo en ver la causa de esa pequeña diferencia en el resultado.
@BettaTech
@BettaTech 2 жыл бұрын
Es por errores pequeños en la representación de valores en coma flotante. Los valores decimales normalmente no se pueden representar de forma _exacta_ en binario, por lo que toda representación va a acumular algunos errores.
@NicolasGuerraOficial
@NicolasGuerraOficial 2 жыл бұрын
Aclarando una cosa, no es que los números con decimales no se puedan expresar en binario de forma exacta, sino que muchas veces se producen números periódicos en los decimales, y el programa debe aproximar el número con una cierta cantidad de bytes. Los números periódicos son por ejemplo 1/3 = 0.3333333333... (el 3 se repite)
@JesusFerVid94
@JesusFerVid94 2 жыл бұрын
@@BettaTech Ah, entiendo. Sí, precisamente ahora mismo estoy en un Ciclo Superior de Desarrollo de Aplicaciones Multiplataforma, y en el módulo de Sistemas Informáticos acabamos de pegar un repaso a representación de la información, así que lo tengo reciente. Sí, para representar decimales, se usan las potencias de exponente negativo de las bases. Y sí, me imagino que en binario se puede representar cualquier número con parte decimal, pero igual necesitamos tipos de coma flotante de 256 bits jeje.
@Shotdie
@Shotdie 2 жыл бұрын
@@NicolasGuerraOficial No, no todos los números decimales son representables en IIEE754 que es el estándar de coma flotante, no tiene nada que ver con la periodicidad
@NicolasGuerraOficial
@NicolasGuerraOficial 2 жыл бұрын
​@@Shotdie Yo no soy especialista en ese estándar, pero lo que yo quiero decir, es que los decimales no siempre se pueden representar en ese estándar, porque al pasarlos a binario, te pueden quedar con dígitos después de la coma que sean periódicos, es decir, con infinitos dígitos, y ese estándar tal vez no está adaptado para soportarlo. Por ejemplo el número decimal: 0.2 a binario, resulta: 0 . 0011 0011 0011 0011 ..., es decir, el 0011 se repite de forma periódica hasta el infinito.
@sebastiansuazo2734
@sebastiansuazo2734 2 жыл бұрын
Bueno, ahora entiendo por que mi prueba de selección en TCIT fue rechazada, ese switch me jodio el puntaje de forma astronómica.
@valentinarivera8971
@valentinarivera8971 Жыл бұрын
Qué es un parámetro?
@rush2112chile
@rush2112chile 2 жыл бұрын
Excelente video, como siempre nos entrega información muy valiosa. Gracias ☺️
@nikolam-dev
@nikolam-dev 2 жыл бұрын
Nice video, por cierto que monitor estas usando? ... se ve precioso
@erickjhormanromero6905
@erickjhormanromero6905 2 жыл бұрын
Gracias por el vídeo y que referencia es tu monitor de atrás?
@dariorey8092
@dariorey8092 2 жыл бұрын
Excelente video, como siempre!
@Zumito
@Zumito 2 жыл бұрын
Yo comento las cosas que no se si usaré y despues de ver que definitivamente no las voy a usar, las borro, no uso git porque nunca me llamó la atención y no lo conozco bien, pero intentare probarlo
@aresnev9382
@aresnev9382 2 жыл бұрын
Git es una tecnología que tenés que saber si o si , básicamente es un conocimiento general
@Ni7ram
@Ni7ram 2 жыл бұрын
a git lo podes ver como una maquina del tiempo, y de realidades paralelas ramificadas. jaja pero tambien es fundamental para trabajar en equipos de programadores.. puede ser q estes acostumbrado a trabajar solo?
@misaelpereira9679
@misaelpereira9679 2 жыл бұрын
Programar sin usar git, es como vivir en 2022 sin un smartphone. Recomendación, aprenderlo cuando puedas que te va ayudar muchísimo
@programmingj613
@programmingj613 2 жыл бұрын
es obligatorio saber git si quieres trabajar en equipo. Incluso si trabajas solo es recomendable usarlo.......
@Stephen_2330
@Stephen_2330 2 жыл бұрын
Bienvenido un día más a BettaTech
@ChikiLoco172003
@ChikiLoco172003 2 жыл бұрын
Que nivel de dificultad tienen las pruebas técnicas en arc?
@Arcdotdev
@Arcdotdev 2 жыл бұрын
Normalmente son creadas para desarrolladores de nivel intermedio a senior :) tú puedes elegir entre una entrevista técnica o un coding challenge!
@ThePixelOmega
@ThePixelOmega 2 жыл бұрын
Hola, soy un estudiante de ingeniería de telecomunicaciones, estoy aprendiendo por mi parte el lenguaje de programacion C++, una vez que sepa lenguaje C++ en nivel avanzado quiero trabajar de algo para poder solventar algunos gastos en la universidad, no importa si el pago es alto. Alguien con experiencia me podría dar una idea? Se agradecería mucho
@slimshady-ec8zq
@slimshady-ec8zq 2 жыл бұрын
vas por un buen camino. c++ es genial, trabajo actualmente con ese lenguaje, los mejores programadores utilizan ese lenguaje. y gano bien.
@maycolpereyra4616
@maycolpereyra4616 2 жыл бұрын
Otro gran video para el canal 👌🏻
@rastersoft
@rastersoft 2 жыл бұрын
¿Sólo cuatro? Entonces soy un verdadero profesional 🤣
@nahuelastor9320
@nahuelastor9320 2 жыл бұрын
Hice un programa para el negocio de mi familia... Contable y de stock. Me quedo muy lindo y facil de usar. Pero cuando lo termine me di cuenta de que pesaba medio giga :S y en si es un programa que solo maneja numeros en una base de datos. Mi codigo apesta :(
@Jesus-lj3oj
@Jesus-lj3oj 2 жыл бұрын
Que son primitivas?
@deerblackzs8419
@deerblackzs8419 2 жыл бұрын
Buenisimo el video, soy yo o el audio va un poco atrasada acorde al moviento de tu boca?
@miguelangelrios3016
@miguelangelrios3016 2 жыл бұрын
Gran video, suscribo!
@TGStone560
@TGStone560 2 жыл бұрын
No código?* Megamente.jpg *
@Jeremaia21
@Jeremaia21 2 жыл бұрын
Excelente video, muy buenas indicaciones para tener en cuenta de ahora en adelante je...
@vetiam
@vetiam 2 жыл бұрын
Muy enriquecedor, como siempre excelentes videos en su canal salu2.
@elmilitar143
@elmilitar143 2 жыл бұрын
que excelente video muy bueno para tomar apunte
@nekosmic
@nekosmic 2 жыл бұрын
Yo aquí feliz con mi primer "hola mundo" en phyton x'd
@lukoppc
@lukoppc 2 жыл бұрын
Sonarqube hace un gran trabajo reconociéndolos, explicando porque son malos y dando un ejemplo de cómo sería la forma correcta.
@victoravr10
@victoravr10 2 жыл бұрын
Yo tengo una función getDate con switch :(
@Angonca42
@Angonca42 2 жыл бұрын
El código del Yandere Simulator (o como se escriba) directamente era el pie de elefante de la programación
@rubendariohernandezcenteno5259
@rubendariohernandezcenteno5259 2 жыл бұрын
Genial eso de enviar un objeto en lugar de muchos params
@matiaswoiciechowski9356
@matiaswoiciechowski9356 2 жыл бұрын
razon 5: No me da la cabeza para hacerlo más lindo
@95Ddannyy
@95Ddannyy 2 жыл бұрын
Gran video mejor miniatura 😜
@lacasadeacero
@lacasadeacero 2 жыл бұрын
Yo usaria un array y un for
@lithiumxp5076
@lithiumxp5076 2 жыл бұрын
Que opinas del abuso de comentarios en el código? Yo siento que cuánto más comentarios tiene se ve más feo xd
@darkfoxwillie
@darkfoxwillie 2 жыл бұрын
Ustedes hacen una clase utils? XD Yo lo que hago es exportar funciones (que serian los metodos de la clase) y ya lol
@gunnerandersen4634
@gunnerandersen4634 2 жыл бұрын
Cuando pones ese titulo "tu codigo apesta" metes a todo el mundo en el mismo saco, y las cryptomonedas no tienen decimales solo manejan enteros, por eso se definen como una variable, p.e ethereum suele usar 18 como el valor de decimals. Un saludo
@elcrackent13
@elcrackent13 2 жыл бұрын
Todo esto enfocado a Javascript claro
@BettaTech
@BettaTech 2 жыл бұрын
A cualquier lenguaje en realidad, no creo que sea nada enfocado a ningún lenguaje particular.. todo lo que tenga clases y métodos puede ser susceptible!
@lais6611
@lais6611 2 жыл бұрын
@@BettaTech Casi todo lo que comentas te lo detecta el ide solo si es un lenguaje de tipado fuerte y compilado.
@BettaTech
@BettaTech 2 жыл бұрын
Pero el ide hace normalmente un análisis previo al compilado, igual se puede añadir una regla de lint en js que detecte si tienes demasiados parametros en una funcion… El compilador no va a fallarte porque tengas 5 parametros (hasta donde sé claro). Quiza un warning dependiendo del compilador
@misaelpereira9679
@misaelpereira9679 2 жыл бұрын
Me alegra saber que cometo ninguno 😎
@epv8986
@epv8986 2 жыл бұрын
Mola ver como estas automatizando el mundo... comida para hoy...hambre para mañana. Pero mientras caiga comidita y euripides a la saca...miramos a otro lado. Apesta la consultoria. Y tener claro que estais destruyendo la sociedad... pero para vosotros es progreso.
@edinssonmontoya8186
@edinssonmontoya8186 2 жыл бұрын
Solo 4? XD
@johncerpa3782
@johncerpa3782 2 жыл бұрын
Excelente video
5 COSAS que QUERRÍA haber APRENDIDO
11:37
BettaTech
Рет қаралды 24 М.
¿Quieres ser desarrollador SENIOR? ¡HAZ ESTO!
7:41
BettaTech
Рет қаралды 36 М.
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
4 PRINCIPIOS de la PROGRAMACIÓN ORIENTADA A OBJETOS
7:55
BettaTech
Рет қаралды 335 М.
15 ERRORES que cometes al PROGRAMAR
21:23
MoureDev by Brais Moure
Рет қаралды 94 М.
APRENDE TODO lo básico del estándar API REST
3:24
CodingMinds
Рет қаралды 372
4 RAZONES por las que estás DESTRUYENDO tu CARRERA
11:19
BettaTech
Рет қаралды 22 М.
3 Cosas que ojalá hubiera aprendido antes
7:49
BettaTech
Рет қаралды 35 М.
¿Fue la PROGRAMACIÓN FUNCIONAL la primera en aparecer?
9:55
6 ESTRUCTURAS de DATOS que todo INGENIERO debería CONOCER
12:52
¿Qué diferencias hay entre LENGUAJES de PROGRAMACIÓN?
14:28
BettaTech
Рет қаралды 103 М.