Это моя любимая программерская
аналогия всех времен, и повторюсь еще раз, ваш код должен выглядет как лего, а не
как пластилин Play-doh. Лего – понятно, с
ним легко играть, с помощью лего вы можете сделать все что угодно. Вы можете
выбросить некоторые элменты, превратить дом в автомобиль, или поменять цвет
крыши на филетовый. Если у вас есть все составные части – вы можете построить
все что только пожелаете.
Стиль вашего
программирования должен быть соответствующим, вы должны стараться создавать
маленькие кусочки лего, и после этого объединять их в элементы побольше. Это
очень важно, особенно сейчас, когда продукты и веб-сайты подвержены постоянным
изменениям. Пример ниже иллюстрирует что я имею ввиду когда говорю по лего (http://jsfiddle.net/mxpatel29/YLSJ7/)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
var chair = {"name":
"Chair","price": "$75",
"desc":
"Hardwood dining room chair."};
//Create Lego Components for the chair object
above
var name = $("
",
{
"text":
chair.name,
"class":
"name"
});
var price = $("
",
{
"text":
chair.price,
"class":
"price"
});
var desc = $("
",
{
"text":
chair.desc,
"class":
"desc"
});
//Create a new Lego piece for A/B Test
var sale = $("",
{
"text":
" - limited time offer",
"class":
"sale"
});
//Basic Example, put together pieces (variant
A)
$("#products").append(name).append(price).append(desc);
//Test for sale (variant B)
var random_num =
Math.floor((Math.random()*2)+1);
//add sale info to price for variant
if(random_num == 1)
$(price).append(sale);
|
Это был простейший
пример, но он четко иллюстрирует идею разделения кода на небольшие компоненты и
последующую их сборку в такой компонент, который необходимо получить. Этот
подход очень эффективен в случае меняющегося тестирования и быстрых итераций.
Он также позволяет сделать поддержку кода простой и не требующей чрезмерных
затрат.
статья базируется на публикации http://blog.raavel.com/2013/08/06/lego/