Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс Парсинг (для строкового парсинга) (число прочтений - 24066 )
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Класс Парсинг (для строкового парсинга)
22. Января 2007 :: 12:17
Печать  
Текст класса:
Код
Выбрать все
Перем БезРегистра Экспорт;
Перем Дебаг Экспорт;

//===========================================================================
//===========================================================================
//===========================================================================
Процедура _Сообщить(Стр)
Если Дебаг=1 Тогда
Сообщить(""+Стр);
КонецЕсли;
КонецПроцедуры

//===========================================================================
Функция ЕдиничноОтпарсить(ЧтоПарсить,ЧемПарсить) Экспорт
СЗ=СоздатьОбъект("СписокЗначений");
	Времен=ЧтоПарсить;
     Для А=1 по СтрЧислоВхождений(ЧтоПарсить,ЧемПарсить) Цикл
	    Позиция=Найти(Времен,ЧемПарсить);
	    Парсеное=Сред(Времен,1,Позиция-1);
		Времен=Сред(Времен,Позиция+1,СтрДлина(Времен));
	     СЗ.ДобавитьЗначение(Парсеное);
	 КонецЦикла;
	Если Времен<>"" Тогда
	     СЗ.ДобавитьЗначение(Времен);
	КонецЕсли;
Возврат СЗ;
КонецФункции
//===========================================================================
//===========================================================================
//===========================================================================

Функция Отпарсить(ЧтоПарсить,ШаблонПарсинга) Экспорт
	Глубина=0;
	СЗ=СоздатьОбъект("СписокЗначений");
	    СЗШаблонаПарсинга=ЕдиничноОтпарсить(ШаблонПарсинга,"%");
     _Сообщить("Шаблонов = "+СЗШаблонаПарсинга.РазмерСписка());
	СтрокаПарсинга=ЧтоПарсить;
	СчетчикШаблона=1;
	Пока СтрДлина(СтрокаПарсинга)>0 Цикл
     _Сообщить("СтрокаПарсинга["+СтрокаПарсинга+"]");
	 	    Разделитель=СЗШаблонаПарсинга.ПолучитьЗначение(СчетчикШаблона);
     _Сообщить("Разделитель ["+Разделитель+"]"+" "+СчетчикШаблона);
		  Если БезРегистра=1 Тогда
		    Позиция=Найти(Врег(СтрокаПарсинга),Врег(Разделитель));
		Иначе
		    Позиция=Найти(СтрокаПарсинга,Разделитель);
		  КонецЕсли;
		Если Позиция=0 Тогда
		Прервать;
		КонецЕсли;
 	    Парсеное=Сред(СтрокаПарсинга,1,Позиция-1);
		Парсинга));
		СЗ.ДобавитьЗначение(СокрЛп(Парсеное));
 	    Если СчетчикШаблона>=СЗШаблонаПарсинга.РазмерСписка() Тогда
		СчетчикШаблона=1;
		Глубина=1;
	    Иначе
		СчетчикШаблона=СчетчикШаблона+1;
	    КонецЕсли;
 	КонецЦикла;
	СЗ.ДобавитьЗначение(СокрЛп(СтрокаПарсинга));
 	Возврат СЗ;
КонецФункции

//===========================================================================
//===========================================================================
//===========================================================================

//===========================================================================
Функция ЕдиничноОтпарситьИзСтроки(ЧтоПарсить,ЧемПарсить) Экспорт
СЗ=СоздатьОбъект("СписокЗначений");
	Времен=СокрЛП(ЧтоПарсить);
	  СкобкаОткрыта=0;
	  Строчка="";
	Для Счетчик=1 По СтрДлина(Времен) Цикл
		  Символ=Сред(Времен,Счетчик,1);
		  Если Символ=Симв(34) Тогда
			  СкобкаОткрыта=1-СкобкаОткрыта;
		  КонецЕсли;
		  Если Символ=ЧемПарсить Тогда
			  Если СкобкаОткрыта=0 Тогда
				  СЗ.ДобавитьЗначение(Строчка);
				  Строчка="";
				  Продолжить;
			  КонецЕсли;
		  КонецЕсли;
		  Строчка=Строчка+Символ;
	  КонецЦикла;
Возврат СЗ;
КонецФункции

 



Примером может являться использования кода в классе Версии. (хотя и не полным) Подмигивание
« Последняя редакция: 22. Января 2007 :: 17:03 - Kostya »  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #1 - 22. Января 2007 :: 12:37
Печать  
Kostya писал(а) 22. Января 2007 :: 12:17:
Примером может являться использования кода в классе Версии. (хотя и не полным) Подмигивание

Костя, как ты думаешь, сколько пользователей будет у твоих классов?
Меня интересует целевая аудитория и примерный ее состав.

Ладно, молчу.
Может быть я чего-то не знаю и легендарные люди теперь попрут на форум со страшной силой?  Смех
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #2 - 22. Января 2007 :: 12:47
Печать  
Я пользуюсь аналогичными методами в моем классе Общие.СтроковыеУтилиты, который выложен в конфе классов.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #3 - 22. Января 2007 :: 12:56
Печать  
По классу-парсеру доки явно недостаточно.
Назначение не всех функций понятны из их названия Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #4 - 22. Января 2007 :: 16:21
Печать  
kms писал(а) 22. Января 2007 :: 12:37:
Kostya писал(а) 22. Января 2007 :: 12:17:
Примером может являться использования кода в классе Версии. (хотя и не полным) Подмигивание

Костя, как ты думаешь, сколько пользователей будет у твоих классов?
Меня интересует целевая аудитория и примерный ее состав.

Ладно, молчу.
Может быть я чего-то не знаю и легендарные люди теперь попрут на форум со страшной силой?  Смех


Класс Парсинг это зависимость от Класса Версии. Ты считаешь что нам не нужен этот класс ?
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #5 - 22. Января 2007 :: 16:31
Печать  
kms писал(а) 22. Января 2007 :: 12:37:
Может быть я чего-то не знаю и легендарные люди теперь попрут на форум со страшной силой?  Смех

Просто нам интересно, где ты пропадал столько времени.
Вроде на ниве 1С тебя видно не было, по крайней мере, в публичных форумах Улыбка
Или мы чего-то не знаем/не помним/не видим ? Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #6 - 22. Января 2007 :: 16:43
Печать  
artbear писал(а) 22. Января 2007 :: 16:31:
kms писал(а) 22. Января 2007 :: 12:37:
Может быть я чего-то не знаю и легендарные люди теперь попрут на форум со страшной силой?  Смех

Просто нам интересно, где ты пропадал столько времени.
Вроде на ниве 1С тебя видно не было, по крайней мере, в публичных форумах Улыбка
Или мы чего-то не знаем/не помним/не видим ? Улыбка


а кому это _нам_ ? Улыбка

публичная деятельность это крайне грустное и неинтересное занятие.
с людьми то я периодически по аське/почте общаюсь.
мой интерес к репозиторию обусловлен тем, что есть у меня идея
технологические моменты своей деятельности перенсти на gpl.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #7 - 22. Января 2007 :: 17:38
Печать  
Kostya писал(а) 22. Января 2007 :: 16:21:
Класс Парсинг это зависимость от Класса Версии. Ты считаешь что нам не нужен этот класс ?

- Вы полагаете, все это будет носиться?
- Я полагаю, что все это следует шить.

Улыбка

Ты не понял.
Я пытаюсь донести мысль (не только сейчас, а с момента возникновения идеи созданиия репозитория),
что сам репозиторий никому, кроме группы энтузиастов, не нужен.
Без рекламы, продвижения, без постоянной поддержки автора и т.д.

Т.е. мало вбросить пару классов,  высказать пару идей, возможно гениальных.
Нужно их поддерживать и популяризировать, а это как ты заметил

Kostya писал(а) 22. Января 2007 :: 16:43:
публичная деятельность это крайне грустное и неинтересное занятие.

Но без этого, никому это не нужно.
Либо популяризируешь ты сам, либо твои последователи, либо проект обречен.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #8 - 22. Января 2007 :: 17:45
Печать  
Kostya писал(а) 22. Января 2007 :: 16:43:
технологические моменты своей деятельности перенсти на gpl.

Кстати, мне-то, как самостоятельной боевой единице, твоя идея весьма интересна.
Но тебе не кажется, что это тема отдельного проекта, не связанного с проектом Артура?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #9 - 22. Января 2007 :: 17:47
Печать  
kms писал(а) 22. Января 2007 :: 17:38:
Kostya писал(а) 22. Января 2007 :: 16:21:
Класс Парсинг это зависимость от Класса Версии. Ты считаешь что нам не нужен этот класс ?

- Вы полагаете, все это будет носиться?
- Я полагаю, что все это следует шить.

Улыбка

Ты не понял.
Я пытаюсь донести мысль (не только сейчас, а с момента возникновения идеи репозитория), что сам репозиторий никому, кроме группы избранных, не нужен.
Без рекламы, продвижения, без постоянной поддержки автора и т.д.

Т.е. мало вбросить пару классов,  высказать пару идей, возможно гениальных.
Нужно их поддерживать и популяризировать, а это как ты заметил

Kostya писал(а) 22. Января 2007 :: 16:43:
публичная деятельность это крайне грустное и неинтересное занятие.

Но без этого, никому это не нужно.
Либо популяризируешь ты сам, либо твои последователи, либо проект обречен.


Честно говоря мне пофиг что широкие массы вдруг не будут юзать мой код, мне главное
чтобы было побольше девелоперов. Тогда я банально не буду парить себе голову, где же мне в моем провинциальном городе найти высококлассных программистов. Со своей стороны я готов сам вкладывать в репозиторий свои классы (на данный момент более 80) и тем самым уменьшать свои и чужие временные затраты, затраты денег на производственную составляющую. Перенести оные затраты на маркетинг и продажу. Чтобы ни у кого не возникало вопросов по авторству и правами лицензию выбрать как gpl. Идея эта у меня довольно давно. И тем или иным способом я пытаюсь ее нарисовать в жизнь.
А мысли типо "как круто что мне в аську стучится в день сотня человеков" у меня прошли исчо в 2000 году, когда оные человеки меня банально заипали.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #10 - 22. Января 2007 :: 18:07
Печать  
kms писал(а) 22. Января 2007 :: 17:45:
Kostya писал(а) 22. Января 2007 :: 16:43:
технологические моменты своей деятельности перенсти на gpl.

Кстати, мне-то, как самостоятельной боевой единице, твоя идея весьма интересна.


Вот.  А это уже ближе к жизни.

Цитата:
Но тебе не кажется, что это тема отдельного проекта, не связанного с проектом Артура?


Честно говоря мне пока кажется что не надо ничего выбрасывать или от
чего то отказываться. Не тот объем.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #11 - 22. Января 2007 :: 18:31
Печать  
Kostya писал(а) 22. Января 2007 :: 17:47:
Честно говоря мне пофиг что широкие массы вдруг не будут юзать мой код, мне главное
чтобы было побольше девелоперов.

А ты думаешь, я про большой ТЕНИС говорил?
Про девелоперов, Костя, про девелоперов.

Джоэл Спольски в какой-то своей статье рассказывал, как Стив Балмер на какой-то презентации DevStudio прыгал по сцене с криками "разработчики!! нам нужны разработчики!!".
Ибо здесь очень много взаимосвязей между поддержкой сообщества разработчиков и продвижением основных продуктов.

Kostya писал(а) 22. Января 2007 :: 18:07:
Честно говоря мне пока кажется что не надо ничего выбрасывать или от
чего то отказываться. Не тот объем.

Нет, я вовсе не предлагаю отказываться, наоборот.
Просто по-моему вы с Артуром разошлись уже на этапе начальной идеологии проекта.

80 классов, да еще поди серьезных, качественных и взаимосвязанных - это по-моему достойно отдельного самостоятельного проекта.
Может, я что-то упустил, но смысла толкаться локтями с Артуром в одном проекте я пока не улавливаю.

Kostya писал(а) 22. Января 2007 :: 17:47:
А мысли типо "как круто что мне в аську стучится в день сотня человеков" у меня прошли исчо в 2000 году, когда оные человеки меня банально заипали.

Пиши еще, щас ностальгия пробьет. Очень довольный
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #12 - 22. Января 2007 :: 18:50
Печать  
что то быстро последнее время меня посещает безнадега. видно скоро на переплавку. Печаль
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #13 - 22. Января 2007 :: 19:04
Печать  
Сейчас прочитал - и подумал: наверное все равно недостаточно явно высказался.
Ну, давай еще добавим, что ли. Наливаю?

У меня 2 сомнения (да, я позволяю себе быть скептиком) по поводу этого репозитория:

1. С ростом числа несвязанных классов качественное модерирование превратится в аццкий труд
2. Репозитарий без рекламы будет никому не нужен. При этом я как раз думаю, что соотношение затрат как раз 80/20, причем 20 - это создание классов, а 80 - реклама и продвижение.

Поэтому я тихо-тихо и задаю вопросы о целевой аудитории, и о целях этого репозитория вообще.
От тебя от первого я услышал ответ, но сомнений в том, что эта цель будет достигнута он не развеял.

Я даже могу проиллюстрировать.
В конце 2005 - в начале 2006 года Алексей Диркс добавил в 1cpp потрясающий объект - ИндексированнаяТаблица.
Я себя отношу к первым и последовательным адептам и популяризаторам этой бесценной штуки.
Да, это была моя мечта со времен 7.0.

Здесь есть несколько людей, которые могут ответить на любой вопрос по ИТ.
И я не помню ни одного вопроса, который бы остался без ответа.

Но несмотря на это, я знаю, что лучшие люди, самые-самые продвинутые и активные участники форума этот объект не используют.
Понимаешь?
Несмотря на полную документацию, тесты, примеры, последовательную поддержку они его НЕ ИСПОЛЬЗУЮТ.

Я вижу одну причину - отсуствие планомерной популяризации.
Как ты думаешь, где бы была идея XP, если бы не личная энергия Кента Бека?
Да там же, где и прочие концепции lightweight разработки - в узких кругах.

Да что там далеко ходить - тот же 1С.
Сама "система программ" г-но, прямо скажем.
Гениально лишь одно - это система продвижения и популяризации.
Организовать кучу дармоедов в сообщество, повесить каждому беджик "я не халявщик, я партнер" и заставить мод музыку раздувать щеки - вот в этом реально гениальность братьев пилотов.

Такие дела.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #14 - 22. Января 2007 :: 19:07
Печать  
Kostya писал(а) 22. Января 2007 :: 18:50:
что то быстро последнее время меня посещает безнадега. видно скоро на переплавку. Печаль

Не сдавайся.
Видишь ли, сознание, успешно миновавшее сито пессимизма, обречено на успех.
Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #15 - 22. Января 2007 :: 19:34
Печать  
to KMS - целиком поддерживаю.

Кроме того - а как этой ИТ пользоваться, и главное зачем?  Смех
Вот не вижу необходимости, учитывая что любые данные могу получить с SQL запросом...
  
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #16 - 22. Января 2007 :: 19:44
Печать  
В общем у меня только одна мысль. Популяризация это все фигня.
Реально человека волнует только он сам. Внес он в класс половину запятой и все.
Теперь он обречен им пользоваться. А уж если внес три строки - ваще капец.
А если приносят ему тонну строк и там даже его запятой нету то нах оно ему надо.
В библиотках пылятся тонны умных мыслей очень умных людей. Очень известных и тем
не менее нафиг никому не нужных. Почему тебя волнует класс индексированная таблица ?
потому что ты его писал. Почему он меня не волует ? (да я даже не знаю что такое существует и зачем существует), потому что ты не попросил меня
написать для нее всего один метод. Я потому думаю что и документация это все фигня.
Когда чел залез сам в сорцы и все методы подглядел он же их теперь _помнить_ наизусть будет. Нафиг ему дока. Раньше помню никаких книг в книжных не продавалось. НУ ВАЩЕ НИКАКИХ по компам. ЗА ПИВО покупали доки к ТурбоАссемблеру на дискетах. Ну и че ?
Я ассемблер до сих пор не забыл. И могу написать слету какой нибудь TSR или полиморфный движок. Другое дело - что это мне щаз нафиг не надо.
А потом как книг много появилось так что читать их стали ? НИФИГА НЕ СТАЛИ. Идиотов стало на порядок больше. несмотря на все книги и доки. Мысли простые : если это так легко дается - нафиг это ценить.  так что моя формула простая - не надо лохматить бабушку, давайте просто ваять код вместе, а бабки получать за него отдельно.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #17 - 22. Января 2007 :: 19:56
Печать  
А еще раньше помню ваще книг не было. Читали чужие сорцы.
Декомпилировали и читали. Как же еще Улыбка)
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #18 - 22. Января 2007 :: 20:08
Печать  
Все кто считают себе не идиотами:

http://children.kulichki.net/vopros/idiot-rp.swf

выкладываем кво попыток.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #19 - 22. Января 2007 :: 20:11
Печать  
Kostya писал(а) 22. Января 2007 :: 19:56:
Декомпилировали и читали. Как же еще Улыбка)

У меня был турбодебаггер. Подмигивание
А систему команд К1801ВМ1 я знал наизусть и писал в машинных кодах.
Мне как-то никто сразу не сказал, что так не принято.

Короче я понял, Костя, ты по жизни юниксоид.
Но если ты не заметил, популяризацией ты _уже_ активно занимаешься Подмигивание
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #20 - 22. Января 2007 :: 20:28
Печать  
kms писал(а) 22. Января 2007 :: 20:11:
Kostya писал(а) 22. Января 2007 :: 19:56:
Декомпилировали и читали. Как же еще Улыбка)

У меня был турбодебаггер. Подмигивание
А систему команд К1801ВМ1 я знал наизусть и писал в машинных кодах.
Мне как-то никто сразу не сказал, что так не принято.

Короче я понял, Костя, ты по жизни юниксоид.
Но если ты не заметил, популяризацией ты _уже_ активно занимаешься Подмигивание


А у меня был NEC20. В него гениально было встроено сразу ДВЕ системы команд.
8080 и 8086. Можно было писать на 8080 и вызывать прерывания дос.
Я по жизни уже давно не хакер. Это у меня просто ностальгические судороги Улыбка
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #21 - 22. Января 2007 :: 21:15
Печать  
Костя, знаешь, я не буду использовать твои классы, так же, как не использую классы Артура и прочие. Также, как не использую классы из FuncTest'а, хотя я же в них участвовал. И знаешь в чем причина?

Есть такой мужик, Фредерик Брукс. Он написал книжку "Мифический человеко-месяц". В ней много вещей, с которыми я согласен и не согласен. Но есть у него такой момент: он оценивает стоимость компонентов (тогда классов не было).

Так вот, стоимость их соотносится так: начальная заготовка оценится в единицу, тогда отлаженный класс, который соответствует спецификациям (вычищена начинка) стоит в три раза дороже. А класс, который уже отработан во взаимодействии с другими классами (у которого вычищена не только начинка, но и интерфейсы, он выполняет все, для чего он предназначен) стоит еще в три раза дороже.

То есть отлаженный и готовый к интеграции класс стоит в 9 (девять!) раз дороже, чем исходный. Я смотрю на твои классы (впрочем, как и на классы Артура), и понимаю, что для полноценного использования мне надо затратить от двух до девяти раз больше усилий, чем вложил ты (то есть то, что я получаю условно-бесплатно).

Плюс к этому, нужно время, чтобы разобраться в твоем коде. Плюс, если я хочу пользоваться дальнейшим развитием класса, мне нужно время на взаимодействие с тобой и утрясание вопросов. То есть в конечном итоге вполне может оказаться так, что мне дешевле самому написать класс, чем пользоваться твоим классам. Таким образом я оцениваю полезность твоих классов как близкую к нулю. А с учетом разброса погрешности, она может оказаться и отрицательной.

Но, естественно, это оценка для моего использования твоих классов. Так как я представляю именно высокие требования к классам. Наверное, найдутся люди, кому твои классы подойдут. Но если я за них буду отвечать перед 300 клиентами (1500 рабочих мест), то я лучше напишу свои такие же классы. И напишу их через тестирование для того, чтобы быть в них уверенным.

Если же ты хочешь, чтобы твоими классами пользовались другие, то напиши для них хотя бы тесты. Этим ты повысишь их стоимость для потенциальных пользователей. А надеяться на то, что другие будут дорабатывать твои классы особо не стоит, хотя это, конечно, может произойти.  Подмигивание

Могу привести еще один пример - внешняя компонента работы со сканером. Нам тоже захотелось халявы, мы нашли такую компоненту и встроили к себе. В результате оказалось, что она не работает со сканером на принтере HP-1200. Автор, конечно, поковырялся-поковырялся, да и сказал, что не знает в чем дело. А что нам ответить клиенту? Вот тебе и халява. И даже если бы у нее бы у нее были открытые коды, думаешь нам было бы намного легче?

Я также не использую ИндексированнуюТаблицу, хотя считаю, что ее стоимость составляет 80-90% от желаемой. Не использую по простой причине, что для меня ее функционал не востребован, просто другие задачи. В одном месте попытался ее применить, но в результате рефакторинга ее использование выродилось до простой ТаблицыЗначений.  Пришлось выборосить. Улыбка

Другие места уже построены на ТаблицеЗначений, и для Индексированной их надо перепахивать. То есть опять затраты.

Конечно, другие наши сотрудники иногда занимаются задачами, в которых требуется ИндексированнаяТаблица, но они ее тоже не используют, по тривиальной причине - они ей не доверяют. И где-то они правы. Так как я знаю, что в ней есть недоработки, но я, например, готов вступить в контакт с разработчиками и выяснять возникающие вопросы, а также искать временные обходные пути. А у них этого желания нет, вполне может получится, что написав на ИндексированнойТаблице придется все переписывать на ТаблицуЗначений.

Да что там ИндексированнаяТаблица, если стандартная 1С-овская ТаблицаЗначений преподносит сюрпризы при сортировках и свертках. Ну не верю я, что ИндексированнаяТаблица лучше протестирована, чем ТаблицаЗначений!

Вот я могу, например, опубликовать (после согласованя со своими) класс ХранилищеОбъектов, который позволяет хранить в базе данных 1С произвольные объекты. Он по уровню проработки близок к ИндексированнойТаблице. Знаешь сколько времени ушло на то, чтобы проработать хранение пустых списков и строк различной длины. Знаешь, сколько времени вычищались интерфейсы под разные нужды? Так до сих пор подправляем его, не смотря на то, что писался он через тестирование. И до сих пор в нем есть ограничения, о которых я знаю.

Не знаю, какие ты сделаешь выводы в отношении своих классов, но понятно, что создание библиотеки классов, которой будут пользоватся другие - не такое простое дело.
  
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #22 - 22. Января 2007 :: 21:47
Печать  
Знаешь ты абсолютно прав. Я вот тоже не юзаю чужой код, потому что не очень доверяю ему. Есть другая история. Про надежность тестов. Решил я как то одного своего самого опытного работника пригрузить написать класс. Все по взрослому. Сам описал ему спецификацию. Написал десяток тестов. но тесты не дал. заставил самостоятельно писать тесты перед разработкой. человек написал 20 тестов. на один класс. потом написал класс. не все тесты сразу прошли, но со временем класс отладил. я прогнал свои 10 тестов. нашли еще несколько ошибок. все. все тесты проходят. все должно быть хорошо. И вот после какого то момента решаю я принять этот класс в продакшн. тем более столько тестов, столько отладки и муки. и вот в какой то момент, смотря на проводки документа с этим классом я с чем то просто не соглашаюсь. я начинаю разбираться и понимаю что забыли описать в тестах какую то маленькую деталь, но которая на самом деле очень важна. пишу тест и он не проходит. дело на выходных. разработчика нету. решаю посмотреть внутрь класса (а до этого специально не смотрел - мол важен только вход и выход). и убеждаюсь в том, что дописать эту маленькую вещь это надо переписать весь класс. в итоге я плюю на три недели работы этого человека. и за часа три пишу свой вариант этого класса. который проходит все тесты. класс этот называется ФИФО.
(не простой фифо, а фифо которое может проводиться даже задним числом и не требует перепроведения всех документов, чтобы выравнять последовательность).
И что я думаю после этого о тестах ??? я думаю что это самообман. либо ты пишешь код качественно, либо ты его не пишешь. и тесты могут гарантировать только одно - когда они _не проходят_ то класс не работающий. А когда проходят - он точно так же может быть неработающим. Так что доверие бесспорно необходимо. Но документация не даст доверия. И  тесты тоже не дадут. Иногда сам себе не доверяешь, что там говорить про чужих разработчиков. Но один то в поле не воин. Ну напишет каждый из нас свой парсинг, которому он будет доверять. А систему планирования потребностей производства уже не напишет. Времени не хватит. Ну напишет каждый из нас по классу ТЗ, а ФинансовыйАнализ не напишет. Опять таки один в поле не воин. Поэтому иного выхода как совместно что-то писать я лично не вижу. Именно создавать, а не ставить готовое - юзайте. 
п.с. Брукса читал.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #23 - 22. Января 2007 :: 21:50
Печать  
(sedmin) Вообще то есть классы которыми можно пользоваться не заботясь об их рефаторинге, возьмем к примеру класс "Общие.Форма.Привязка.ert" - пользуюсь им полгода и даже не заглядывал как он написан - работает вроде как безнареканий - так зачем мне свое писать если добрый человек подобное уже сделал Подмигивание
Частью классов можно пользоваться как примерами для создания своих собственных - никто же не мещает сделать лучше и выложить свое.
  
Наверх
wwwICQ  
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #24 - 22. Января 2007 :: 22:02
Печать  
Цитата:
ТаблицаЗначений преподносит сюрпризы при сортировках и свертках.


кстати говоря - очень интересно какие сюрпризы. тесты в студию.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #25 - 22. Января 2007 :: 22:11
Печать  
Kostya писал(а) 22. Января 2007 :: 22:02:
Цитата:
ТаблицаЗначений преподносит сюрпризы при сортировках и свертках.


кстати говоря - очень интересно какие сюрпризы. тесты в студию.

Тестов не будет. Просто скажу, что ситуации возникают, когда элементы справочника имеют одинаковое наименование.

И если ты знаешь, что лежит в колонке таблицы, то ты напишешь разные варианты кода, который правильно выполняет сортировку/свертку, а если не знаешь - то хрен.
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #26 - 22. Января 2007 :: 22:14
Печать  
noprogrammer писал(а) 22. Января 2007 :: 21:50:
(sedmin) Вообще то есть классы которыми можно пользоваться не заботясь об их рефаторинге, возьмем к примеру класс "Общие.Форма.Привязка.ert" - пользуюсь им полгода и даже не заглядывал как он написан - работает вроде как безнареканий - так зачем мне свое писать если добрый человек подобное уже сделал Подмигивание


Некий ПО тоже пытался им воспользоватся, но через некоторое время напоролся на то, то он глючит, если у формы есть закладки, форма модальная и т.д. Пришлось очередной раз лезть в кишки.  Улыбка
  
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #27 - 22. Января 2007 :: 22:50
Печать  
sedmin писал(а) 22. Января 2007 :: 22:11:
Kostya писал(а) 22. Января 2007 :: 22:02:
Цитата:
ТаблицаЗначений преподносит сюрпризы при сортировках и свертках.


кстати говоря - очень интересно какие сюрпризы. тесты в студию.

Тестов не будет. Просто скажу, что ситуации возникают, когда элементы справочника имеют одинаковое наименование.

И если ты знаешь, что лежит в колонке таблицы, то ты напишешь разные варианты кода, который правильно выполняет сортировку/свертку, а если не знаешь - то хрен.



Попытка найти искомое:

Код
Выбрать все
    ТЗ=СоздатьОбъект("ТаблицаЗначений");
	ТЗ.НоваяКолонка("ЭлементСправочника");
	ТЗ.НоваяКолонка("ЧисловоеЗначение");

	Спр=СоздатьОбъект("Справочник.Тестовый");
	Спр.ВыбратьЭлементы();
	Пока Спр.ПолучитьЭлемент()=1 Цикл
		Сообщить("["+Спр.ПолныйКод()+"::"+Спр.ТекущийЭлемент()+"]");
		ТЗ.НоваяСтрока();
		ТЗ.ЭлементСправочника=Спр.ТекущийЭлемент();
		ТЗ.ЧисловоеЗначение=1;
	КонецЦикла;

	Сообщить("строк="+ТЗ.КоличествоСтрок());
	ТЗ.ВыбратьСтроку();
	ТЗ.Свернуть("ЭлементСправочника","ЧисловоеЗначение");
	Сообщить("строк="+ТЗ.КоличествоСтрок());
    ТЗ.ВыбратьСтроку();

КонецПроцедуры

 



результат исполнения.
Код
Выбрать все
[3::второй]
[5::второй]
[1::первый]
[2::первый]
[4::третий]
строк=5
строк=5
 



Визуальная проверка на ВыбратьСтроку() обнаруживает две идентичные ТЗ.
То есть ничего не свернулось, даже несмотря на одиннаковые названия Наименований.
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #28 - 23. Января 2007 :: 04:25
Печать  
Цитата:
Некий ПО тоже пытался им воспользоватся, но через некоторое время напоролся на то, то он глючит, если у формы есть закладки, форма модальная и т.д. Пришлось очередной раз лезть в кишки. 


1.Про закладки у формы можно подробнее (что за глюки) ?
2.Про модальность - так там вообще не надо использовать данный класс, он там просто не нужен Подмигивание
  
Наверх
wwwICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #29 - 23. Января 2007 :: 05:08
Печать  
Привожу выдержку из хистори аськи для пояснения, почему я занялся подобным проектом
Цитата:
>> 22.01.2007 19:46:16 kms++ wrote:
>> Да, Артур, а насчет классов.
>> У тебя еще нет ощущения, что ты взялся за аццкий труд? Улыбка

>> 22.01.2007 19:50:52 artbear wrote:
>> есть, но вот в чем дело -
>> я сам очень люблю поизучать, потестить чужие полезные разработки, и периодически этим занимаюсь,
>> просто сейчас есть возможность собрать это все как-то воедино и реализовать какую-то единую схему учета и работы с классами

>> 22.01.2007 19:51:13 artbear wrote:
>> поэтому я так легко предложил себя в качестве ведущего Улыбка

>> 22.01.2007 19:51:42 artbear wrote:
>> посмотрим.
>> я не хочу/не буду вставлять все/любые классы + делать к ним доку, примеры и т.д.

>> 22.01.2007 19:52:16 artbear wrote:
>> возможно, все умрет при увеличении количества классов в несколько раз, а может быть, и нет.
>> Возможно, и еще кто-то подключится Улыбка

>> 22.01.2007 19:52:27 artbear wrote:
>> когда я делал конфу тестирования, я ведь также был один Улыбка

>> 22.01.2007 19:52:52 artbear wrote:
>> + Лехина тесты на ИТ - 110 штук Улыбка

>> 22.01.2007 19:54:52 artbear wrote:
>> просто в какой-то момент надоедает бардак, постоянные баги в новых версиях, возврат к одним и тем граблям и хочется как-то все систематизировать и улучшить.
>> так я взялся за 1С++ как пользователь
>> так я взялся за Опенконф,
>> так я взялся за юнит-тестирование 1С++,
>> так я взялся за 1С++ как разработчик,
>> так я взялся из конфу классов 1С++ Улыбка Очень довольный


ИМХО моя позиция и позиция Кости во многом близки Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #30 - 23. Января 2007 :: 05:27
Печать  
Kostya писал(а) 22. Января 2007 :: 22:50:
Визуальная проверка на ВыбратьСтроку() обнаруживает две идентичные ТЗ.
То есть ничего не свернулось, даже несмотря на одиннаковые названия Наименований.


Ты издеваешься что ли? У нас даже на больших объемах ситуация возникает не каждый раз. Да и ситуации там похитрее бывают.

Ты когда Брукса читал, то понял, чем отличается тестирование от системного тестирования?  Подмигивание
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #31 - 23. Января 2007 :: 05:38
Печать  
Саша, а в чем проблема по ИндексТЗ?
По ней очень много тестов в тестовой базе.
ИМХО гораздо больше, чем имеется данных по обычной ТЗ, и потому она протестирована лучше и надежнее, чем обычная ТЗ от 1С.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #32 - 23. Января 2007 :: 06:24
Печать  
Причина багов с ТаблицейЗначений в том, что при сортировке таблицы, в которой лежат элементы справочника с одинаковым наименованием, может получиться такой вариант:

Иванов [Код 1]
Иванов [Код 2]
Иванов [Код 1]
Иванов [Код 2]
Иванов [Код 1]
  
Наверх
 
IP записан
 
Kostya
Junior Member
**
Отсутствует



Сообщений: 62
Местоположение: Украина / Луцк
Зарегистрирован: 14. Декабря 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #33 - 23. Января 2007 :: 07:16
Печать  
sedmin писал(а) 23. Января 2007 :: 06:24:
Причина багов с ТаблицейЗначений в том, что при сортировке таблицы, в которой лежат элементы справочника с одинаковым наименованием, может получиться такой вариант:

Иванов [Код 1]
Иванов [Код 2]
Иванов [Код 1]
Иванов [Код 2]
Иванов [Код 1]


10тысяч элементов с одиннаковыми названиями из 100000 это достаточный объем для проявления вышеуказаного бага ? или он совсем не повторяющийся ? какой релиз 1С ?
  

2b or not 2b = ff
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #34 - 23. Января 2007 :: 07:33
Печать  
sedmin писал(а) 22. Января 2007 :: 21:15:
Я также не использую ИндексированнуюТаблицу, хотя считаю, что ее стоимость составляет 80-90% от желаемой.
Не использую по простой причине, что для меня ее функционал не востребован, просто другие задачи.

Да, тоже думаю, что 80-90%. И, как я уже говорил, мне странно, что многие не видят задач.
Странно. Потому что я, начиная с 7.0 (или с 7.5, не помню) постоянно видел задачи, которые требуют ИТЗ.
Ну, может быть, у меня несколько более развита параноя в плане оптимизации, чем у других. Но не настолько же?

Так почему же?
Да потому же, почему я не использую OpenConf и скрипты.
Официально - у меня нет необходимости.
Неофициально - мне никто не "продал" эту блестящую идею, как тебе никто не "продал" ИТЗ.

Цитата:
Конечно, другие наши сотрудники иногда занимаются задачами, в которых требуется ИндексированнаяТаблица, но они ее тоже не используют, по тривиальной причине - они ей не доверяют. И где-то они правы. Так как я знаю, что в ней есть недоработки, но я, например, готов вступить в контакт с разработчиками и выяснять возникающие вопросы, а также искать временные обходные пути. А у них этого желания нет, вполне может получится, что написав на ИндексированнойТаблице придется все переписывать на ТаблицуЗначений.

Не согласен с твоей посылкой.
ИТЗ безопаснее штатной ТЗ в плане глюков.
Потому что вот она - у тебя на ладони, вот тесты, вот код, вот разработчики. А что ты можешь сделать со штатной ТЗ?

Именно поэтому я всячески ЗА GPL и против (условно против) проприетарного софта.
Я за свободу и возможность выбора.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #35 - 23. Января 2007 :: 07:35
Печать  
sedmin писал(а) 23. Января 2007 :: 06:24:
Причина багов с ТаблицейЗначений в том, что при сортировке таблицы, в которой лежат элементы справочника с одинаковым наименованием, может получиться такой вариант:

Иванов [Код 1]
Иванов [Код 2]
Иванов [Код 1]
Иванов [Код 2]
Иванов [Код 1]

А есть уверенность, что это баг?
Где-то документировано, как именно ТЗ подвязывалась сортировать элементы?

Кстати, про ИТ я тебе могу сказать - там такой проблемы нет.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #36 - 23. Января 2007 :: 07:58
Печать  
Kostya писал(а) 22. Января 2007 :: 19:44:
так что моя формула простая - не надо лохматить бабушку, давайте просто ваять код вместе, а бабки получать за него отдельно.

Пожалуй, а что еще остается.

А у меня в v7 одна мечта осталась - сделать компоненту визуальных объектов - нравится мне многое в v8.
Ну это чуть потом все.

Главное - не это, а запятые, запятые... Подмигивание
  

De quelle planète es-tu?
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Класс Парсинг (для строкового парсинга)
Ответ #37 - 23. Января 2007 :: 07:59
Печать  
ОФФ.
Кстати, а кто сказал, что "баг" - это плохо? Иногда баг должен быть, потому что есть в официально купленной 1С-ке.

Потому как после оптимизации некоторых отчетов, в которых убрались недочеты 7-ки в виде строчек с пустыми итогами, исправление сортировки и подобное - мне пришлось долго и нудно доказывать юзерам, что это НОРМАЛЬНО! А мне самому стоило немалых усилий при тестировании выявлять значимые и незначимые различия оптимизированного и типового отчета.

PS и еще один еще более ОФФ:
Нам в институте один уважаемый доцент рассказывал историю годов 70-80хх, про точность и подходы к ней:
Дело было кажется на Урале, на каком-то машиностроительном заводе. Заказали японцы(о, как) у нас очень точную станину для какого-то станочка. Мы ее сделали, стали мерить отклонения и выяснилось (о, ужас), что отклонения не только ниже нормы, а скажем так - практически отсутствуют (точности приборов не хватает, чтобы их выявить), ну мы удивились и подумали, что этого не может быть, а для верности записали в паспорт станка некие допустимые отклонения, отправили в Японию... Прошло время, японцы получили станину и тут же присылают нам рекламацию: мол мы проверили - отклонений нет, а в паспорте они у вас имеются - НЕПОРЯДОК! Ведь они не знали, что мы перестраховались, а решили, что за время транспортировки что-то стало меняться, а значит предсказать дальнейшее развитие событий еще сложнее!

Вот так-то: глюк всегда имеет место быть, если он проходит по допускам и документирован в паспорте!
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #38 - 23. Января 2007 :: 08:24
Печать  
artbear писал(а) 23. Января 2007 :: 05:38:
Саша, а в чем проблема по ИндексТЗ?
По ней очень много тестов в тестовой базе.
ИМХО гораздо больше, чем имеется данных по обычной ТЗ, и потому она протестирована лучше и надежнее, чем обычная ТЗ от 1С.


Ты, похоже тоже издеваешься.  Печаль С ТЗ поработали миллионы пользователей. Хотя бы этот факт говорит о том, что она более оттестирована. А то, что в нашей базе на нее мало тестов - это ни о чем не говорит.
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #39 - 23. Января 2007 :: 08:29
Печать  
Kostya писал(а) 23. Января 2007 :: 07:16:
10тысяч элементов с одиннаковыми названиями из 100000 это достаточный объем для проявления вышеуказаного бага ? или он совсем не повторяющийся ? какой релиз 1С ?


Костя, ты работаешь в 1С? Тебе ни жить ни быть надо зафиксировать этот баг? Ты хочешь, чтобы я все бросил и поднял его?

Даже когда он у меня был под рукой, и то я не стал его фиксировать, потому что он был плавающий. Не буду делать этого и сейчас.
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #40 - 23. Января 2007 :: 08:37
Печать  
kms писал(а) 23. Января 2007 :: 07:35:
sedmin писал(а) 23. Января 2007 :: 06:24:
Причина багов с ТаблицейЗначений в том, что при сортировке таблицы, в которой лежат элементы справочника с одинаковым наименованием, может получиться такой вариант:

Иванов [Код 1]
Иванов [Код 2]
Иванов [Код 1]
Иванов [Код 2]
Иванов [Код 1]

А есть уверенность, что это баг?
Где-то документировано, как именно ТЗ подвязывалась сортировать элементы?

Кстати, про ИТ я тебе могу сказать - там такой проблемы нет.


Это не баг, пока не делаешь ТЗ.Свернуть(). А если сделаешь - то в таблице оказывается что попало.

Вот и получается, что приходится сначала сортировать, а потом сворачивать. Да еще и экспериментально подбирать разные строки сортировки/свертки. Либо писать алгоритм на формирование строк свертки/сортировки. А если неизвестны типы колонок, то и неизвестно, какие строки сортировки/свертки формировать.

Хотя, с другой стороны, в документации, конечно, четко не оговорен порядок свертки. Как хочет - так и сворачивает.  Подмигивание
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #41 - 23. Января 2007 :: 08:45
Печать  
kms писал(а) 23. Января 2007 :: 07:33:
Неофициально - мне никто не "продал" эту блестящую идею, как тебе никто не "продал" ИТЗ.


Считай, что я ее уже "купил".  Подмигивание

Ты не поверишь, но у меня за последние полгода практически не было надобности в ИТЗ. Работая над тиражным продуктом нужно отрабатывать не только внутренние механизмы, но и пользовательские интерфейсы. И не только интерфейсы, но и, скажем так, нетабличные алгоритмы. К тому же до трети времени у меня занимает административная работа.

Я, конечно, не знаю твоей работы, но у меня такое ощущение, что она позволяет сосредоточится именно надо той частью задач, где требуется работа с таблицами. А другие задачи за тебя решает 1С или другие сотрудники.
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #42 - 23. Января 2007 :: 10:29
Печать  
Самый известный баг с ТЗ - метод КоличествоСтрок() после применения Сортировать() работает криво.
Вплоть до таких результатов:

Процедура Сформировать()
     тз = СоздатьОбъект("ТаблицаЗначений");
     тз.НоваяКолонка("Тест");
     Для Номер=1 По 10 Цикл
           тз.НоваяСтрока();
           тз.Тест = Формат(Номер, "ЧП");
     КонецЦикла;
     тз.Сортировать("Тест");
     тз.КоличествоСтрок(8);
     тз.КоличествоСтрок(4);
     тз.КоличествоСтрок(2);
     тз.КоличествоСтрок(1);
     тз.ВыбратьСтроку();
КонецПроцедуры

Результат ошеломляет.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Класс Парсинг (для строкового парсинга)
Ответ #43 - 23. Января 2007 :: 13:02
Печать  
Да, забавно это.
А еще после сортировки, как я помню, происходит нехилое замедление прочих операций с тз.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать