html

Только html5 с соответсвующим доктайпом. Невалидный код должен быть обоснован. Отступы только

Вкрапления php

Условия

Если стоит одиночный if, его необходимо записывать на отдельной строке блоком:

<? if (strlen($arResult['DESCRIPTION'])) { ?>
	<div class="description"><?=$arResult['DESCRIPTION']?><div>
<? } ?>
	
В примере strlen() всегда даст true, если строка не пуста и false, если пуста, указывать количество символов — противопоказано.

Если иф надо встроить в строку (например, по условию поставить класс, то он указывается через тернарный оператор).

<div class="exampleGallery">
	<? for ($i = 0; $i < count($exampleList); $i++) { ?>
		<? $exampleItem = &$exampleList[$i] ?>
		<div class="exampleItem<?=($i == 0) ? ' active' : ''?>">
			<img src="<?=$exampleItem['PIC']['SRC']?>" width="<?=$exampleItem['PIC']['WIDTH']?>" height="<?=$exampleItem['PIC']['HEIGHT']?>" alt="<?=$exampleItem['PIC']['ALT']?>" title="<?=$exampleItem['PIC']['TITLE']?>" />
			<div class="name"><?=$exampleList['NAME']?></div>
		</div>
	<? } ?>
</div>
	

В примере не указана ; в конце выражения, по той причине, что они не требуются в следствии указания окончания php-кода ?>.

В примере передано значение по ссылке в переменную $exampleItem, чтобы не заполнять память в php < 5 версии. Если необходим только вывод на экран в php5+, то можно передавать по значению, лишней памяти выделено не будет. Но если необходимо указать новые данные именно в этой переменной, то передача по ссылке обязательна для любой версии php.

css

Классы по БЭМ-нотации

На ид классы не вешать