Опрос
Опрос Тема Опроса: Да здравствует V8?



« Последняя модификация: trdm : 06. Октября 2007 :: 08:23 »
Переключение на Главную Страницу Страницы: 1 ... 8 9 [10] 11 12  ОтправитьПечать
Очень популярная тема (более 25 ответов) Вечная тема ) v77 и V8. Ту би ор нот ту би ) (число прочтений - 54726 )
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #135 - 11. Октября 2007 :: 17:33
Печать  
Цитата:
[но тоже давно писал, что без наследования можно запросто обойтись

Ты не писал, а постоянно настаивал Улыбка
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #136 - 11. Октября 2007 :: 20:09
Печать  
Наследование, говоришь, не при делах? И полиморфизм? А вот смотри, метод Подготовка(), могу поспорить, точно такой же, как и в десятке других тестов. То есть это - дублирование. А как оно устраняется? Выносится в общий родитель.

А еще десяток тестов используют другую Подготовку(). У них будет другой родитель.

Да и вообще, код
Код
Выбрать все
	ТестовыеДанные.ЗагрузитьИзФайла(
		"%TESTDATA%\WMS\WMS_СкладскаяОперация\" +
		"ЗафиксироватьПаллетуВДокументе_Отгрузка_тест1\*.xml",
		истина
	);


	гуид 	= "cabb49f6-6732-4d0d-96e6-2f39ebc19021";
	ссылка	= Документы.WMS_СкладскаяОперация.ПолучитьСсылку(
		новый УникальныйИдентификатор(гуид)); 


так и просится в метод родительского класса.

Пожалуйста - потребность в наследовании+полиморфизме налицо.  Улыбка
  
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #137 - 12. Октября 2007 :: 05:25
Печать  
sedmin писал(а) 11. Октября 2007 :: 20:09:
Наследование, говоришь, не при делах? И полиморфизм? А вот смотри, метод Подготовка(), могу поспорить, точно такой же, как и в десятке других тестов. То есть это - дублирование. А как оно устраняется? Выносится в общий родитель.

А еще десяток тестов используют другую Подготовку(). У них будет другой родитель.


Да ничего подобного! Улыбка
Метод Подготовка() уникален для каждого тестового модуля. Даже, если унаследовать его от базового тестового модуля, содержимое модуля не изменится.
Если же, все-таки, появится необходимость в базовой подготовке, это всегда можно сделать в общем неглобальном модуле.


Цитата:
Да и вообще, код
Код
Выбрать все
	ТестовыеДанные.ЗагрузитьИзФайла(
		"%TESTDATA%\WMS\WMS_СкладскаяОперация\" +
		"ЗафиксироватьПаллетуВДокументе_Отгрузка_тест1\*.xml",
		истина
	);


	гуид 	= "cabb49f6-6732-4d0d-96e6-2f39ebc19021";
	ссылка	= Документы.WMS_СкладскаяОперация.ПолучитьСсылку(
		новый УникальныйИдентификатор(гуид)); 


так и просится в метод родительского класса.


Вообще не понятно с чего бы это. Никуда он не просится. Улыбка


Цитата:
Пожалуйста - потребность в наследовании+полиморфизме налицо.  Улыбка

Вобщем, не убедил! Абсолютно! Улыбка
  
Наверх
ICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #138 - 12. Октября 2007 :: 05:52
Печать  
Цитата:
Если же, все-таки, появится необходимость в базовой подготовке, это всегда можно сделать в общем неглобальном модуле.

А если у тебя несколько вариантов базовых подготовок? У тебя будет несколько общих неглобальных модулей? Или несколько процедур подготовки? И ты будет писать так?

Код
Выбрать все
процедура Подготовка() экспорт
	ПодготовкаТестов.ПодготовкаНомерРаз();
конецПроцедуры 


Так что ли?

В принципе, тоже вариант, но корявенький. Я же не говорю, что без наследования и полиморфизма нельзя обойтись, также как и без классов. А говорю, что с ними гораздо удобнее, код становится гораздо прозрачнее (естественно, если из применять с умом).


Цитата:
Цитата:
Да и вообще, код
Код
Выбрать все
	ТестовыеДанные.ЗагрузитьИзФайла(
		"%TESTDATA%\WMS\WMS_СкладскаяОперация\" +
		"ЗафиксироватьПаллетуВДокументе_Отгрузка_тест1\*.xml",
		истина
	);


	гуид 	= "cabb49f6-6732-4d0d-96e6-2f39ebc19021";
	ссылка	= Документы.WMS_СкладскаяОперация.ПолучитьСсылку(
		новый УникальныйИдентификатор(гуид)); 


так и просится в метод родительского класса.


Вообще не понятно с чего бы это. Никуда он не просится. Улыбка

Естественно, он туда просится после обобщения. Хотя, конечно, можно и опять через общий модуль.  Подмигивание
Или ты хочешь сказать, что похожего кода больше ни в одном тесте нет?
  
Наверх
 
IP записан
 
Alex_Bob
Full Member
***
Отсутствует



Сообщений: 136
Местоположение: Липецк
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #139 - 12. Октября 2007 :: 06:01
Печать  
А давайте я дровишек подброшу.

Я восьмерку знаю недавно и наверно не очень хорошо, поэтому буду говорить о том, что бросилось в глаза. Например, справочники:

- иерархия элементов - позволяет выбирать в документах элементы справочника, имеющие дочерние элементы;
- несколько владельцев;
- табличные части;
- предопределенные элементы - задаются в конфигураторе, нельзя удалить в режиме Enterprise, имеют имя (нечто вроде счетов, заданных в конфигураторе 77)
- ввод на основании;
- неограниченное количество форм;
- наличие модуля объекта, расширяющего стандартный набор методов и свойств;
- в модуле объекта предопределенные процедуры
<ОбработкаЗаполнения>
<ПередЗаписью>
<ПередУдалением>
<ПриЗаписи>
<ПриКопировании>
<ПриУстановкеНовогоКода>
срабатывают не только при интерактивной записи и удалении, но и при программном вызове Записать()

В целом получается довольно удобно. В 1С7++ это если и реализуется, то глубоко через задний проход.
  

Необходимо время, чтобы восстановить хаос. (с) Дж. Буш (младший)
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #140 - 12. Октября 2007 :: 06:15
Печать  
sedmin
Цитата:
А если у тебя несколько вариантов базовых подготовок?

Подготовка тестового модуля подразумевает приведение БД к определенному известному состоянию, т.е. действия, которые там обычно выполняются - это очистка БД и загрузка рид-онли данных, на которые опираются тестовые методы данного модуля.
Вполне возможно, что упомянутые рид-онли данные используются несколькми тестовыми модулями. Но это вовсе не означает, что эти модули взаимоотносятся как "is a".

Цитата:
У тебя будет несколько общих неглобальных модулей? Или несколько процедур подготовки?

Нет, не будет. Считаю, что в данном случае не то дублирование, от которого нужно избавляться.

Цитата:
В принципе, тоже вариант, но корявенький. Я же не говорю, что без наследования и полиморфизма нельзя обойтись, также как и без классов. А говорю, что с ними гораздо удобнее, код становится гораздо прозрачнее (естественно, если из применять с умом).

Еще раз повторяю, я стараюсь применять наследование только в крайнем случае, когда нет ни малейшего сомнения в его целесообразности.

Цитата:
Естественно, он туда просится после обобщения. Хотя, конечно, можно и опять через общий модуль.  Подмигивание
Или ты хочешь сказать, что похожего кода больше ни в одном тесте нет?

Похожий код есть в тестовых методах одного тестового модуля. И, естественно, в пределах этого модуля удобно выносить повторяющиеся фрагменты в приватные функции.

Вобщем, опять не убедил. Смех
  
Наверх
ICQ  
IP записан
 
freagle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 87
Зарегистрирован: 21. Июня 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #141 - 12. Октября 2007 :: 07:08
Печать  
Цитата:
Но, надо сказать, вас можно поздравить с таким достижением.


Не, Палыч, кроме смеха - действительно, часть вопросов снимается. Хотя, как я понимаю, свою систему тестирования ты бесплатно (или платно) раздавать не будешь, так? Ну да ладно - кому очень вставит, тот реализует.

Цитата:
код.... так и просится в метод родительского класса.


Но. По поводу ООП - ты с sedmin'ом на разных языках говоришь. Я в самом начале своей карьеры писал аппликухи на VB/VBA, и с восторгом читал всякие заметки, например Эпплмана, о том, что наследование не нужно, полиморфизм, следовательно - тоже и даже спорил об этом. Базара нет, все можно написать в процедурном коде. Да и вообще - все ООП, которое было до COM/CORBA - это больше понятие времени компиляции, а не времени исполнения. С этой точки зрения - хоть ООП, хоть процедурный код - какая разница, если процессору по шарабану, он все равно последовательность команд исполняет. 
Так вот. Спорил я о том, что ООП нафиг не нужно, пока мне не попалась действительно сложная задачка. Не просто логика для нескольких UserForms. И пришлось мне в корне поменять взгляды.

Sedmin - то про что тебе толкует - про то, что есть камрады, которые за предыдущие 10 лет кой-что освоили, и им не хочется (очень!) заново осваивать очень старое якобы новое. 
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #142 - 12. Октября 2007 :: 07:18
Печать  
Цитата:
...применять наследование только в крайнем случае, когда нет ни малейшего сомнения...

Вобщем, опять не убедил. Смех

Сразу видно - ортодокс. Ужас
Возможности убедить - нет.  Озадачен Сдаюсь.  Очень довольный
  
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #143 - 12. Октября 2007 :: 07:39
Печать  
freagle
Цитата:
Хотя, как я понимаю, свою систему тестирования ты бесплатно (или платно) раздавать не будешь, так?

Да это не моя система, хоть я и разработчик.

sedmin
Цитата:
Сразу видно - ортодокс.

Вовсе нет. Наоборот, приверженец классического ООП. Как учил... ну сами знаете кто.  Смех


freagle, sedmin
История повторяется. Улыбка
Опять возвращаемся к спорам на ит-ланде начиная года эдак с 2003.  Улыбка


  
Наверх
ICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #144 - 12. Октября 2007 :: 07:46
Печать  
Цитата:
sedmin
Цитата:
Сразу видно - ортодокс.

Вовсе нет. Наоборот, приверженец классического ООП. Как учил... ну сами знаете кто.  Смех

Ортодокс, приверженец... Какая разница?  Подмигивание

Цитата:
freagle, sedmin
История повторяется. Улыбка
Опять возвращаемся к спорам на ит-ланде начиная года эдак с 2003.  Улыбка

Нет, не возвращаемся. Каждый (подставить глагол по вкусу) как он хочет.  Смех
  
Наверх
 
IP записан
 
freagle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 87
Зарегистрирован: 21. Июня 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #145 - 12. Октября 2007 :: 08:55
Печать  
Цитата:
Ортодокс, приверженец... Какая разница?


Давайте я попробую немного повернуть дискуссию. Как Палыч показал под пытками, тесты в восьмерке сделать все-таки можно. Хотя и приходится доставать напильник. И, насколько я понял, та система, про которую Палыч говорил, четко рассчитана на определенный стиль программирования, нет?

Палыч, вопрос номер два: Проектируете систему каким образом?
  
Наверх
 
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #146 - 12. Октября 2007 :: 09:04
Печать  
Что мне в глаза бросилось:
Цитата:
- наличие модуля объекта, расширяющего стандартный набор методов и свойств;
Модуля Записи регистра, например, нет, только набораПечаль
Цитата:
<ОбработкаЗаполнения>

Однако ввода нового нет, и когда нужно заполнять новый элемент данными по-умолчанию (при открытии устанавливают в конфигурации 1с!), постоянно надо вставлять доп. проверки, что элемент введен просто, а не на основанииПечаль

Цитата:
В целом получается довольно удобно. В 1С7++ это если и реализуется, то глубоко через задний проход.
А в целом, действительно, как-то проще все получается (хотя на первом этапе модель объектная не нравилась, а справка ужасной казалась. Но это полностью пришлось самостоятельно изучать, даже книг не было). А в 7-ке все-таки часто "извращаться" приходится.
  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #147 - 12. Октября 2007 :: 12:22
Печать  
freagle
Цитата:
тесты в восьмерке сделать все-таки можно

В этом мог сомневаться только тот, кто ни разу не видел живьем конфигуратор v8.

Цитата:
Хотя и приходится доставать напильник

Вот про напильник не надо! Улыбка
За 2 года работы на v8 мой комплект слесарного инструмента покрылся толстым слоем пыли.  Смех

Цитата:
... система ... четко рассчитана на определенный стиль программирования

Мне не ясен вопрос. Это можно утверждать и про любую другую систему.

Цитата:
Проектируете систему каким образом?

Каким... Как обычно, морщим лоб и проектируем.   Смех


alest
Не надо выносить сор из избы. Эти вопросы уже на сто раз пережованы. Нужно только взять и разобраться.
  
Наверх
ICQ  
IP записан
 
freagle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 87
Зарегистрирован: 21. Июня 2006
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #148 - 12. Октября 2007 :: 13:49
Печать  
Цитата:
В этом мог сомневаться только тот, кто ни разу не видел живьем конфигуратор v8


Палыч, не передергивай.  Нерешительный  Тут речь немного не об этом шла, ты же понял.

Цитата:
Каким... Как обычно, морщим лоб и проектируем.


Это стандартное описание и для v7++ и для v8.. и даже для любого инженера, не обязательно - программиста.  Смех

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

В v7++ такой мегапримочкой являлись классы. Очень, очень удобно проектировать, как я и писал выше. Берем тот же Sybase Power Designer, и поехали...  генерации кода, конечно, нет, как и обратного проектирования, но зато всего остального хватает с избытком. Все, что хочет пользователь, документируется, составляется словарь, рисуется матрица трассируемости требований, подбираются тесты... То есть множество работы уже сделано, и я даже еще не вошел в конфигуратор. Улыбка И все благодаря тому, что есть ООП. Обрати внимание - именно на стадии проектирования оно так же важно, как и при кодировании (тестировании, сопровождении)

И только тогда, когда абсолютно понятна генеральная линия проекта, начинается, собственно, кодирование.

А что есть в восмерке (или рядом с ней) для того, чтобы облегчить нашу тяжкую жизнь? Чтобы этот цикл: проектирование - кодирование - тестирование - внедрение сделать как можно более дешевым - по времени и по деньгам?
  
Наверх
 
IP записан
 
Alex_Bob
Full Member
***
Отсутствует



Сообщений: 136
Местоположение: Липецк
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вечная тема ) v77 и V8. Ту би ор нот ту би )
Ответ #149 - 12. Октября 2007 :: 14:13
Печать  
Цитата:
В v7++ такой мегапримочкой являлись классы. Очень, очень удобно проектировать, как я и писал выше. Берем тот же Sybase Power Designer, и поехали...  генерации кода, конечно, нет, как и обратного проектирования, но зато всего остального хватает с избытком. Все, что хочет пользователь, документируется, составляется словарь, рисуется матрица трассируемости требований, подбираются тесты... То есть множество работы уже сделано, и я даже еще не вошел в конфигуратор. Улыбка И все благодаря тому, что есть ООП.


Ха-ха 3 раза. Вы что, каждый новый проект с нуля начинаете? А франчайзерам 1С придумала типовые конфигурации, чем сильно облегчила жизнь. Они еще не входили в конфигуратор, а уже знают, что вам предложить - торговлю или ПУБ!  Улыбка

Не хочется все время за восьмерку заступаться, но вот обнаружили вы во время сбора требований, что есть 2 таблицы, между которыми отношение многие ко многим. Что вы будете делать в V7 с классами? А в восьмерке даже думать не надо - Регистр сведений.
  

Необходимо время, чтобы восстановить хаос. (с) Дж. Буш (младший)
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 8 9 [10] 11 12 
ОтправитьПечать