Как работать в быстроизменяющейся среде 3

Работать быстро.

Как работать в быстроизменяющейся среде 2

— Блин, да этот заказчик не знает, чего он хочет! — быть может, и не так литературно, но возьмет, да и вырвется крик отчаяния у разработчика. Не важно кто — дизайнер, программист, верстальщик, — все переживали такие моменты.

Совет разработчикам: нефиг плакать, если попросили что-то переделать.
Планируйте наперед. Предугадывайте ходы заказчика. Проектируйте ресурс — это необходимо. И заказчику, и разработчику. Заставляйте четко формулировать задачи.

Да, и обязательно требуйте деньги за переделку.

Как работать в быстроизменяющейся среде или «А переделайте-ка мне вот этот блочек»

Ох уж эти изменения…

Представьте ситуацию: все сделали, все написали, все отладили. Ну или почти все. И вдруг (о Боже!) нужно все нахрен переделать (например, изменения в дизайне, поменять что-то там местами, что-то там добавить/убрать). Знакомо всем.

Рецепт: Разделяй и властвуй!

Для уменьшения количества испорченных нервных клеток в будущем, разделяйте содержимое на три категории: суть, декорации и поведение.

Содержание, контент — это суть.
Внешний вид, оформление — это декорации.
Поведение — это поведение.

Описывайте суть одними классами, декорации другими.
Поведенческие скрипты привязывайте к классам, описывающих суть, а не к классам декораций.

html
<div class="block1">
    <div class="view1">
        ...
    </div>
</div>
css
.block1 {описание сути блока1}
.block2 {описание сути блока2}

.view1{описание внешнего вида1}
.view2{описание внешнего вида2}

.block1 .view1{описание внешнего вида1 для блока1}
.block1 .view2{описание внешнего вида2 для блока1}

.block2 .view1{описание внешнего вида1  для блока2}
...
javascript
function1(){
    //для блока1
    ...
}
function2(){
    //для блока2
    ...
}

или так:

html
<div class="block1 view1">
    ...
</div>

со всеми вытекающими.

— Ну и че?

А то, что при таком подходе получаем более гибкие конструкции.
Если нужно сменить оформление — работаем с классами декораций.
Если нужно поменять поведение — правим в основном скрипты.
А изменения в контенте уже не так сильно повлияют на декорации и поведение.

P.S. Такой подход особенно полезен для связки редактор-дизайнер-кодер.

Contacts

Skype: roman.fedorenko
Kiev, Ukraine

Rubrics