Wow 🤯
Esto lo deja bien claro :D
¿Cómo aplicar la metodología BEMI en un proyecto real?
La metodología BEMI (Bloque, Elemento, Modificador y Identificador) es fundamental para mantener un código limpio y fácil de mantener. Al implementar esta metodología en un proyecto real de un estudiante, se busca mejorar la estructura y claridad del código. Este proyecto, que involucra HTML, CSS y JavaScript, servirá como base para realizar un refactor utilizando BEMI. El objetivo no es criticar, sino mostrar cómo se puede llevar a cabo una mejor organización y estructura de código.
¿Cuál es la estructura original del proyecto?
El proyecto que se analizará contiene las siguientes características:
Carpetas:
Código HTML:
logo-name.relerf-logo y un texto alternativo.¿Cómo implementamos el refactor con BEM?
Para mejorar el proyecto utilizando la metodología BEM, se realizaron varias modificaciones:
Cambio de etiquetado:
<header> por <nav> como contenedor principal.navbar.Nomenclatura de clases:
navbar__logo, navbar__name, y navbar__icon.Consistencia y orden de atributos:
Optimización del HTML:
¿Cuáles son los beneficios de este refactor?
Al aplicar la metodología BEM, no solo se mejoró la organización y legibilidad del código, sino que también se logró una reducción significativa en el número de líneas, pasando de 82 a 46 líneas. Esto resulta en un código más limpio y manejable, donde es más fácil identificar las estructuras simplemente leyendo el HTML.
¿Cuál es el reto para los estudiantes?
Se invita a los estudiantes a practicar este refactor siguiendo la metodología BEM con otras secciones del proyecto, como el footer o la parte de proyectos. Animamos a realizar pull requests y compartir resultados, además de la posibilidad de aportar ideas o sugerencias en los comentarios. Tal actividad fomenta el aprendizaje activo y la aplicación práctica de conceptos teóricos.
Este enfoque práctico en la enseñanza del refactor con BEM no solo mejora las habilidades técnicas, sino que también fomenta la creatividad y el pensamiento crítico. Continuemos avanzando en la comprensión y aplicación de metodologías efectivas de desarrollo.
La metodología BEMI (Bloque, Elemento, Modificador y Identificador) es fundamental para mantener un código limpio y fácil de mantener. Al implementar esta metodología en un proyecto real de un estudiante, se busca mejorar la estructura y claridad del código. Este proyecto, que involucra HTML, CSS y JavaScript, servirá como base para realizar un refactor utilizando BEMI. El objetivo no es criticar, sino mostrar cómo se puede llevar a cabo una mejor organización y estructura de código.
El proyecto que se analizará contiene las siguientes características:
Carpetas:
Código HTML:
logo-name.relerf-logo y un texto alternativo.Para mejorar el proyecto utilizando la metodología BEM, se realizaron varias modificaciones:
Cambio de etiquetado:
<header> por <nav> como contenedor principal.navbar.Nomenclatura de clases:
navbar__logo, navbar__name, y navbar__icon.Consistencia y orden de atributos:
Optimización del HTML:
Al aplicar la metodología BEM, no solo se mejoró la organización y legibilidad del código, sino que también se logró una reducción significativa en el número de líneas, pasando de 82 a 46 líneas. Esto resulta en un código más limpio y manejable, donde es más fácil identificar las estructuras simplemente leyendo el HTML.
Se invita a los estudiantes a practicar este refactor siguiendo la metodología BEM con otras secciones del proyecto, como el footer o la parte de proyectos. Animamos a realizar pull requests y compartir resultados, además de la posibilidad de aportar ideas o sugerencias en los comentarios. Tal actividad fomenta el aprendizaje activo y la aplicación práctica de conceptos teóricos.
Este enfoque práctico en la enseñanza del refactor con BEM no solo mejora las habilidades técnicas, sino que también fomenta la creatividad y el pensamiento crítico. Continuemos avanzando en la comprensión y aplicación de metodologías efectivas de desarrollo.
Esto lo deja bien claro :D
My pull request !! 👨🏾🚀
https://github.com/platzi/curso-arquitecturas-css-proyecto-1/pull/2
¿Por qué se retiro la etiqueta header? , ¿No se supone que el header hace parte de la web semantica y debería ser obligatorio?
lo que yo entiendo de lo que se lleva explicado en la metodologia BEM hay que organizar a solo 3 niveles
EJEMPLO CON UNA ESTRUCUTRA SIMPLE
<!--BLOQUE DE EJEMPLO-->
<div class="card">
<p class="card__text"> ALGUN TEXTO</p>
<p class="card__text"> ALGUN TEXTO</p>
<button class="card__button">
Mostrar Info
</button>
<article class="article hidden">
<p class="card__text">ALGUN TEXTO</p>
<img
src="#"
class="article__image"
alt=""/>
<button class="card__button--disabled">
Ocultar Info
</button>
</article>
</div>
.card = BLOQUE .card__text, card__button = ELEMENTOS .card__button--disabled , .hidden = MODIFICADORES # Este puede ser tratado como un bloque independiente .article = BLOQUE .article__image = ELEMENTO
¿Porque no definir card__image a lo que yo entiendo? El bloque padre por asi decirlo es article ya que en card no existe ningun elemento de este tipo
//Ejemplo de CSS SENCILLO
.card {
display:flex;
flex-direction:column;
height:auto;
width: 100%;
padding: 2px;
}
.card__text {
text_align: lefth;
color: withe;
font-size:16px;
}
.card__button {
border-radius: 10px;
left:50%;
right:50%;
height:auto;
width:auto;
back-ground: ligth-green;
}
.card__button--disabled{
background-color: gray;
cursor: not-allowed;
}
.article {
flex:1 1 auto;
}
.article__image{
width: 50px;
height:50px;
}
.hidden {
display:none;
}
Que ganas de hacer refactor a mis proyectos, jajajaja
la verdad no se como publicar esto en github así que lo envio por aquí.
CONTEXTO: intenté cambiar la seccion main-hiro (es donde dice quien es el ) con el metodo BEM aunque no lo entinedo aun.
Líneas antiguas de HTML::

Líneas nuevas de HTML:

Líneas de CSS (creo que estas me quedaron mal ya que no supe el orden de BEM en ese caso :

Postada: Traté de hacer lo mejor que pude si me pueden ayudar se los agradecería
Lo que no entiendo es, la profe modifica la estructura del HTML, entonces, se va a romper la página, hay que rehacer todo el CSS del header, es así, cierto?
para el reto me agarre la parte de las redes sociales, solo le hice pull request al index, me falta la parte del css (main-social-tree.css) pero ya no aguanto el sueño.

Huh... estoy algo decepcionado, pensé que empezaríamos un nuevo proyecto nosotros, o que directamente nos darían uno mal hecho para irlo refactorizando paso a paso con la profesora.
📐🤓
El resultado de la refactorizacion es un archivo con 36 lineas menos en comparacion con el archivo original.