En lo que respecta al HTML, siempre propongo tener jerarquías y sangría en mis archivos. Por ejemplo, si tengo un montón de divs:
<div id="content">
<div id="post">
<div class="title">
Blah Blah Title
</div>
</div>
</div>
Supongo que es bastante obvio para la mayoría de los que crean diseños y plantillas, pero la mayoría de las veces solo veo HTML ilegible que no tiene ninguna jerarquía estructural, lo que dificulta la lectura para otra persona. Supongo que viniendo de un fondo más CS, esto es algo que se me queda grabado. Lo mismo ocurre con CSS también. Digamos que estás diseñando un div:
#whatever{
background-image: url('blah.gif');
color: #FFF000;
}
La sangría hace que sea mucho más fácil de leer rápidamente cuando estás acostumbrado a otro idioma mezclado como PHP / Ruby / Whatever. De nuevo, depende de cómo trabajes mejor, pero cuando otros leen mi HTML, me gusta hacerlo realmente organizado :).
Además, como se dijo anteriormente, siempre es una buena idea nombrar sus clases de CSS e identifica nombres relevantes para su diseño, especialmente cuando se vuelve complicado (al igual que nombrar variables y métodos en otros idiomas). Algo más a tener en cuenta es el temido "adivinar y verificar" de los márgenes, rellenos y otros problemas de alineación. Algo que a menudo trato de evitar es poner números negativos en mis márgenes y rellenos. Puede ser confuso si no realizó el diseño usted mismo y si desea volver a él más tarde y modificarlo, es posible que deba revisarlo. En mi opinión, siempre es una buena idea no intentar nada hokey o "kludgy" en CSS, incluso si se ve bien; Por lo general, hay una mejor manera de hacerlo, ¡incluso si tiene que reestructurar su CSS!