Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
14-1124725264
Santrope
2005-08-22 19:41
2005.09.18
Посоветуйте прогу аля msconfig ?


14-1124697571
alles
2005-08-22 11:59
2005.09.18
Нужна утилитка


14-1124445799
kaif
2005-08-19 14:03
2005.09.18
Screen shot или screenshot ? Как правильно?


14-1124918886
ronyn
2005-08-25 01:28
2005.09.18
Сколько стоит ЧП организовать?


1-1125085182
Василий
2005-08-26 23:39
2005.09.18
Компоненты