Текущий архив: 2005.09.18;
Скачать: CL | DM;
Вниз
Прошу совета по удобочитаемости текста. Найти похожие ветки
← →
TUser © (2005-08-20 21:15) [0]Пишу бибилиотеку на JavaScript. Есть 2 варианта того, как реализовать похожие функции.
Какой из них, по Вашему мнению, больше способствует удобочитаемости кода?
Вариант 1. Copy-paste. Преимущества - функции присутствуют в коде в виде собственно
функций. Недостаток - имея 10 похожих функций придется (при чтении кода) долго искать
различия. Объем текста растет, отладка усложняется (при обнаружении ошибки ее, может
быть, придется в 10 местах исправлять).
Вариант 2. Сейчас библиотека поддерживает шаблоны. Выглядет это примерно так
/* Создаем объект "Шаблон", который потом можно использовать
для создания множества похожих функций
*/
var AnyVar = new Teamplate ()
with (AnyVar)
{
AddLine ("function %0 (Param)") // AddLine - метод объекта "шаблон"
AddLine ("{")
AddLine (" if (Param %1 0)")
AddLine (" {")
AddLine (" Param %2")
AddLine (" alert Param")
AddLine (" }")
AddLine ("}")
Realize ("ZeroFunc","==","++") // Realize - метод объекта "шаблон"
Realize ("NonZeroFunc","!=","--")
}
После выполнения метода Realize() в html тексте появятся 2 функции
function ZeroFunc (Param)
{
if (Param == 0)
{
Param ++
alert Param
}
}
function NonZeroFunc (Param)
{
if (Param != 0)
{
Param --
alert Param
}
}
к кторым можно обращаться, как к любым другим ф-м. Но в написанном руками тексте эти
функции присутствуют сами видите в каком виде. С другой стороны - сразу можно
разобраться, чем они отличаются. Вот думаю, - какой путь все-таки лучше.
← →
Gero © (2005-08-21 08:11) [1]2, конечно. В первом варианте происходит ненужное дублирование кода.
← →
delirium-system-2 (2005-08-21 10:42) [2]Фактически, дублироване кода будет и в том и в другом случае. Шаблоны создавались для упрощения работы с различными типами данных. И если имеется "10 похожих функций", то скорее всего здесь что-то не то с самой идеей. ИМХО, в коде легче разобраться при явном описании всех функций.
← →
TUser © (2005-08-21 15:29) [3]> Gero © (21.08.05 08:11) [1]
Я тоже склоняюсь к 2. Уже несколько раз обрадовался, когда пришлось внести одно изменение, а не править каждую функцию.
← →
TStas © (2005-08-21 20:03) [4]Второй, конечно. Видно же сразу
← →
DiamondShark © (2005-08-21 20:09) [5]Главное -- потом в этих "шаблонах" ногу не сломать...
Страницы: 1 вся ветка
Текущий архив: 2005.09.18;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.027 c