KISS, DRY, SOLID, YAGNI... son BUENAS PRÁCTICAS pero...
¿Qué significan? ¿Cómo funcionan?

7 acrónimos que todo PROGRAMADOR debe saber.
¡Con ejemplos de código!

[ H I L O ] ⇩
YAGNI - You aren't gonna need it

Evita código que desarrollas para necesidades futuras... sin saber si lo vas a necesitar.
Es como la optimización prematura, estás adelantándote y complicando la solución sin una necesidad real.

Es tentador pero no lo hagas.

[1/7] Código JavaScript  ❌ // YAGNI  const findGifs = async ({
KISS - Keep It Simple Stupid

Manten tu código lo más simple posible.
Usa nombres claros para tus variables.
Haz tu código entendible por cualquiera.
Deja claro lo que hace el programa.
Evita la complejidad ciclomática.

[2/7] if (country === 'es') {   if (user === 'midudev') {     if (
DRY – Don’t Repeat Yourself

Evita el uso de CTRL+C CTRL+V en tu código. No repitas código constantemente.
Crea funciones y abstracciones para poder reutilizarlo. Además ayuda al testing.

Pero OJO, ten en cuenta que es mejor repetir código que una mala abstracción.

[3/7]
TDD - Test Driven Development

Desarrollo guiado por pruebas de software.
Práctica donde creas el test antes de desarrollar el código.
Luego, de forma iterativa, vas añadiendo más tests y refactorizando/iterando el código.

Es una forma robusta de crear software.

[4/7]
SOC - Separation of Concerns

Es la idea de que cada módulo o capa de la aplicación debe ser responsable sólo de una cosa y no debe contener código que se encarga de otras responsabilidades.

Por ejemplo, un componente de UI haciendo fetching de datos y transformaciones.

[5/7] // ❌ SOC function App() {   useEffect(() => {     // ❌ F
SOLID

S - Single Responsibility.
O - Open/Closed
L - Liskov Sustitution
I - Interface Segregation
D - Dependency Inversion

5 principios de diseño y desarrollo de aplicaciones para desarrollar código limpio, flexible, reutilizable y mantenible.

[6/7] Single responsibility principle la noción de que un objeto
TDA: Tell Don't Ask

Un estilo en el que en lugar de decidir qué debemos hacer fuera de un objeto, hacemos que la lógica de las decisiones estén dentro de los propios objetos.

De esta forma, mantenemos la lógica en su lugar en lugar de repetirla constantemente.

[7/7] // ❌ TDA: Tell Don't Ask  const age = user.getAge() if (ag
¿Te gustan estos contenidos?

Me ayudas mucho si le das RT y LIKE al tuit principal. ¡Gracias! ⇩

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Miguel Ángel Durán

Miguel Ángel Durán Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @midudev

Jul 20
¿Qué se espera de un Senior en Programación? Lee este hilo:
➱ Aceptas que el código no es de piedra

El código cambiará. Tu framework favorito cambiará.
No siempre tienes que tener la razón.
Puedes hacer experimentos y que el código no sea perfecto.
No necesitas revisar todo el código que se sube.
Puedes seguir aprendiendo de juniors.
➱ Resuelve problemas

Entiende que el código es el medio, no el fin. Sabe de la importancia del negocio.
Tiene experiencia contrastada y puede trabajar de forma autónoma.
Cuando hay un problema es capaz de tirar del hilo y explicar las razones al resto de las personas.
Read 9 tweets
Jul 20
¡SUPERA tu próxima PRUEBA TÉCNICA en programación con JAVASCRIPT!

Una lista de RECURSOS para ayudarte a preparar tu próxima entrevista y pasar menos nervios.

¡Supera tus procesos con éxito!

[ H I L O ] ⇩
⁙ PRUEBA para trabajo en remoto en EEUU con @arcdotdev

Lo que verás:
- 1 hora de entrevista en inglés
- Live Coding para hacer un Inner Join
- Preguntas de escalabilidad y bases de datos

Nivel: mid - senior.



[ 1 / 10 ] Prueba técnica de Trabajo Remoto con JavaScript, superada.
@arcdotdev ⁙ SUPERA la ENTREVISTA de Google ⁙

Lo que verás:
- Algoritmos y estructuras de datos
- Fetching de datos
- Manejo del DOM
- Optimización del código

Nivel: mid - senior



[ 2 / 10 ] Google Frontend Interview
Read 11 tweets
Jul 19
Decir que en JavaScript "todo es un objeto" es incorrecto.

No "todo hereda de Object" en el lenguaje, aunque lo parezca.

No sé de dónde salió esa idea pero... te han timado.

Te explico por qué.

[ H I L O ] ⇩
JavaScript tiene dos tipos de datos: primitivos y objetos.

Los primitivos son:
undefined, null *, Boolean, Number, String, BigInt y Symbol.

* null por un error histórico tiene como typeof object

Los primitivos representan un dato en la implementación más baja posible.
Los objetos serían todo lo demás.

Los más típicos son los propios Object y los Array.
Pero tienes muchos más como los Map y Set...
Error, JSON, Promise, Date...

Las Funciones también son Objetos pero con la particularidad que pueden ser ejecutados y tienen su typeof especial.
Read 8 tweets
Jul 15
Aprender a PROGRAMAR NO TIENE que ser ABURRIDO.

¡Te comparto 12 JUEGOS GRATUITOS para que mejores en Desarrollo Web a tu ritmo!

[ H I L O ] ⇩
⁙ WARRIOR JS ⁙

Programa con JavaScript, mientras vas aprendiendo, para superar todos los obstáculos de las mazmorras.

Totalmente gratis con dos niveles de dificultad.

warriorjs.com

[1/12] Captura de pantalla de Warrior JS
⁙ JS ROBOT ⁙

Maneja un simpático Robot y explora unas cuevas a base de instrucciones JavaScript.

Para principiantes que quieran aprender JS mientras

lab.reaal.me/jsrobot/#level…

[2/12] Captura de pantalla de JS Robot
Read 14 tweets
Jul 13
Chrome tiene 137.345 extensiones...

¡Pero sólo unas pocas realmente marcan la diferencia en programación!

¡Te comparto mis favoritas!

[ H I L O ] ⇩
VISBUG

Activa una especie de Figma en tu navegador para modificar el layout, texto y otras propiedades de tu página en un momento.

Puedes reemplazar imágenes, inspeccionar espacios, estilos... ¡super útil!

visbug.web.app

[1/11] Image
TAILWIND DX

Si usas Tailwind, o quieres empezar a usarlo, esta extensión es un MUST.

Te añade un nuevo panel en tus herramientas de desarrollo para añadir y modificar estilos a base de clases de Tailwind.

chrome.google.com/webstore/detai…

[2/11]
Read 13 tweets
Jul 11
GitHub tiene millones de repositorios para aprender programación.

Pero sólo unos cuantos realmente marcan la diferencia.

¡Te comparto los MEJORES!

[ H I L O ] ⇩
🌠 El camino del FRONTEND DEVELOPER

Recursos gratuitos para empezar en el desarrollo web o ampliar conocimientos.

Cursos, tutoriales y artículos destacados.

github.com/mrcodedev/fron…

[1/8] El camino del Frontend Developer con el fondo de Monkey Isla
🗺️ ROADMAP a cualquier TECNOLOGÍA

Frontend, Backend, DevOps, React, Angular, Java... ¡no importa lo que quieras aprender!

De cada cosa tienes disponible una ruta de aprendizaje para que no tengas dudas qué debes seguir.

github.com/kamranahmedse/…

[2/8] Una captura de pantalla del roadmap frontend
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(