Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
9-1116696958
ivn
2005-05-21 21:35
2005.09.18
Где скачать DSound.pas?


5-1099313917
rect
2004-11-01 15:58
2005.09.18
Компоненты


1-1125131565
Rb
2005-08-27 12:32
2005.09.18
Как проверить установлен ли WinWord


4-1122535985
Shopot
2005-07-28 11:33
2005.09.18
Как дописать данные в конец текстового файла?


10-1101874624
Sergei
2004-12-01 07:17
2005.09.18
COM/DCOM




   Наверх