Disadvantage: number of classes grows
.block .block--modifier .block__element .block__element--modifier
Disadvantage: class name can get ugly
base - type selectors layout - .layout-* , .l-* classes modules - reusable components state - current state - .is-visible, .is-submitted themes