Primer día del advent of code: voy a hacer el código limpísimo. Nada de magic numbers, extraigo código reutilizable a funciones, variables semánticas, etc☝️🤓
Tercer día: función de 80 líneas
🚀 #Angular 18.1 is out folks! 🚀
... and it's a big deal because it brings
✅ @let template syntax
✅ #TypesScript 5.5 🤯🤯🤯
which is especially important because of the
"Inferred Type Predicates"
which will greatly improve DX when narrowing types in array (or RxJs) operators, eg
filter(item => item !== undefined)
Link to the whole changelog and article explaining new typescript feature in the replies!
¡SORTEO de Teclado Keychron K3 V2!
Con luces RGB y con Brown Switches
¿Cómo participar?
→ Like y RT a este post
→ ¡Sígueme!
✓ Participación abierta a todo el mundo
✓ Envíos internacionales
🔥 #Architecture#Focus 🔥
🏗️❓ Why long-lasting projects should maintain an Architecture Decision Record (ADR)? 📝👷🏼♂️
ADR is:
📝 documenting Architecture Decisions (ADs)
📝 only important ones
📝 they focus on the WHY was a decision made
📝 it's rather short
📝 NOT a code documentation, but high-level decisions 🏗️
🤔 SO WHY? 🤔
🪄 Imagine you join a project and after some time you start QUESTIONING DECISIONS made (like "who wrote that piece of ...⁉️" 🤬).
☺️
💪 you might think an incompetent person made a wrong decision and 🦸 you 🦸 will FIX IT.
🧑💻 but as you start diving into the problem, it seems that there we SO MANY FACTORS you HAVEN'T TAKEN INTO ACCOUNT 😨. Ooops 💩 the initial solution includes them... it's not that bad afterall. Important reasoning (the WHY) was just not documented.
HOW to do ADRs?
🔍 forget your perspective, try walking in shoes of people who would join your project in the future
🔍 what might be non-obvious for them?
🔍 what decisions might be great today, but become dangerous in the future?
🔍 what consequences of the decision do you expect? What benefits and what costs?
🔍 how could your future self EVALUATE the decision? In the long run, was it good?
... and what would make a 💩y ADR?
💩 write long things nobody wants to read
💩 describe things easy to find in the code
💩 focus on things which outdate easily
💩 focus on things which are easy to change
💩 describe how things work
👷 EXAMPLE CONCERNS:
🏗️ why did you decide to use a #monorepo?
🏗️ why did you decide to use a #distributed state management solution?
🏗️ why do you synchronise your state across the system in a certain way?
🏗️ why did you move your #frontend app to #microfrontends?
🏗️ why did you choose a certain architecture style in an #angular app?
🏗️ why did you drop #redux from a #react app?
Embrace ADRs in your system.
😇 Future maintainers will thank you for this 😇
➡️ example ADR template: https://t.co/gM0Urom9Zk
➡️ about ADRs: https://t.co/lTTdbTqdKr
➡️ more templates and examples: https://t.co/SVJQuYBn5v
Hay bastantes puntos de la argumentación en los que no coincido. No obstante estoy disfrutando mucho la lectura/estudio.
Recomiendo, si no leer el libro, leer un resumen o verse algún vídeo de YouTube donde expliquen de que va la vaina 🫛
No obstante las ideas que defiende el autor, en palabras de otros, han tenido y *tienen más repercusión en nuestra vida que la propia revolución francesa* 🤯
Se considera -según el prólogo- que lo que defiende da forma y paso a la Modernidad