Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) 1С++ 2.5 (число прочтений - 14272 )
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #15 - 11. Сентября 2007 :: 14:52
Печать  
Функционал присоединенного МД тонкая штука - я его даже ни разу не пользовал, так что сказать вообще ничего не могу.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #16 - 11. Сентября 2007 :: 14:52
Печать  
spock писал(а) 11. Сентября 2007 :: 14:49:
Uzhast писал(а) 11. Сентября 2007 :: 13:12:
Глянул сырцы: не выполняется проверка на наличие конечного слеша в пути.

Уточни, где ты это нашел.

Ага, в наших тестах ОлеДБ давным-давно такой тест есть, лично писал Улыбка
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #17 - 11. Сентября 2007 :: 14:58
Печать  
Uzhast писал(а) 11. Сентября 2007 :: 14:50:
А т.к. ты считаешь ночную сборку полностью готовой сборкой, получается, что такой сборки, где обкатывается новый функционал, и нет Улыбка

Ага, понял твою мысль Улыбка
Ночная сборка - фактически объединение двух разных вещей - готового функционала и нового.

ИМХО тут дело в том, что мы нечасто выпускаем релизы Печаль
Соответственно, старые баги фиксятся, некий новый функционал успевается обкататься и протестироваться, а другой, новый, возможно, от другого разработчика нет.
Вот и получается, что часть функционал гарантированно рабочая, а часть нет Улыбка

Простого выхода я не вижу, кроме как волевого решения о готовности сборки к релизу, я не вижу Печаль

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

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #18 - 11. Сентября 2007 :: 15:02
Печать  
spock писал(а) 11. Сентября 2007 :: 14:49:
Uzhast писал(а) 11. Сентября 2007 :: 13:12:
Глянул сырцы: не выполняется проверка на наличие конечного слеша в пути.

Уточни, где ты это нашел.

Код
Выбрать все
BOOL COLEDBData::funcAttachIB(CValue &rValue, CValue **ppValue)

strFileName.Format("%s%s", strFileName, "1cv7.md");
 

  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #19 - 11. Сентября 2007 :: 15:07
Печать  
Uzhast писал(а) 11. Сентября 2007 :: 15:02:
spock писал(а) 11. Сентября 2007 :: 14:49:
Uzhast писал(а) 11. Сентября 2007 :: 13:12:
Глянул сырцы: не выполняется проверка на наличие конечного слеша в пути.

Уточни, где ты это нашел.

Код
Выбрать все
BOOL COLEDBData::funcAttachIB(CValue &rValue, CValue **ppValue)

strFileName.Format("%s%s", strFileName, "1cv7.md");
 


Это - моя работа.

А зачем нужна лишняя проверка, если:
Цитата:
КаталогИБ - тип: Строка. Путь к каталогу информационной базы. Должен заканчиваться "\".
(из доки)
  

1&&2&&3
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #20 - 11. Сентября 2007 :: 15:07
Печать  
artbear писал(а) 11. Сентября 2007 :: 14:58:
Соответственно, старые баги фиксятся, некий новый функционал успевается обкататься и протестироваться, а другой, новый, возможно, от другого разработчика нет.
Вот и получается, что часть функционал гарантированно рабочая, а часть нет Улыбка

Если часть рабочая, а часть - нет, то называть такую сборку полностью готовой к использованию нельзя. Поэтому не надо предлагать ставить ночную сборку на живую базу. ИМХО.

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

Для нового функционала обычно использует не текущую стабильную версию, а более новую.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #21 - 11. Сентября 2007 :: 15:09
Печать  
trad писал(а) 11. Сентября 2007 :: 15:07:
А зачем нужна лишняя проверка, если:
Цитата:
КаталогИБ - тип: Строка. Путь к каталогу информационной базы. Должен заканчиваться "\".

Эх, опередил Улыбка
Мелочь, конечно, но лично я считаю, что код 1С++ мог бы упомянутый факт с отсутствие слеша учитывать Улыбка
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #22 - 11. Сентября 2007 :: 15:10
Печать  
trad писал(а) 11. Сентября 2007 :: 15:07:
А зачем нужна лишняя проверка, если:
Цитата:
КаталогИБ - тип: Строка. Путь к каталогу информационной базы. Должен заканчиваться "\".

Потому что это грабли. А приведенная цитата - это что вроде: "у меня здесь в траве грабли лежат - не наступайте". Проверку на слеш сделать - элементарно. А вот сообразить в чем дело после сообщения про ошибку многошаговой операции OLE DB практически невозможно.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #23 - 11. Сентября 2007 :: 15:16
Печать  
Кстати, довольно давно в ночные сборки 1С++ не вносится никакого нового функционала, фактически только фиксятся не слишком значительные баги и я дорабатываю функционал Перехватчика, который по умолчанию в 1С++ отключен.
В основном я поэтому говорю о стабильности ночной сборки и рекомендую ночную сборку к использованию.
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #24 - 11. Сентября 2007 :: 15:19
Печать  
artbear писал(а) 11. Сентября 2007 :: 15:16:
Кстати, довольно давно в ночные сборки 1С++ не вносится никакого нового функционала, фактически только фиксятся не слишком значительные баги и я дорабатываю функционал Перехватчика, который по умолчанию в 1С++ отключен.
В основном я поэтому говорю о стабильности ночной сборки и рекомендую ночную сборку к использованию.

Ну, Перехватчика ты же вроде добавлял? Улыбка

Вообще, хотя бы в качестве стабильной версии положили бы действительно стабильную версию. Сами подумайте: не использовал человек 1С++, решил попробовать, напоролся на подобную нестабильность - и все, для нашего сообщества человек потерян. Зачем делать себе такую антирекламу?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #25 - 11. Сентября 2007 :: 15:23
Печать  
Uzhast писал(а) 11. Сентября 2007 :: 15:19:
Ну, Перехватчика ты же вроде добавлял? Улыбка

Т.к. Перехватчик ставит свои перехваты на важные системные функции, то по умолчанию он отключен, т.е. кто не хочет, может не использовать и не нарываться на баги Улыбка [/quote]

Цитата:
Вообще, хотя бы в качестве стабильной версии положили бы действительно стабильную версию. Сами подумайте: не использовал человек 1С++, решил попробовать, напоролся на подобную нестабильность - и все, для нашего сообщества человек потерян. Зачем делать себе такую антирекламу?

Согласен.
Я лично готов к выпуску релиза Улыбка

Разработчики, может и правда, выпустим?
  

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #26 - 11. Сентября 2007 :: 15:38
Печать  
Uzhast писал(а) 11. Сентября 2007 :: 15:10:
trad писал(а) 11. Сентября 2007 :: 15:07:
А зачем нужна лишняя проверка, если:
Цитата:
КаталогИБ - тип: Строка. Путь к каталогу информационной базы. Должен заканчиваться "\".

Потому что это грабли. А приведенная цитата - это что вроде: "у меня здесь в траве грабли лежат - не наступайте". Проверку на слеш сделать - элементарно. А вот сообразить в чем дело после сообщения про ошибку многошаговой операции OLE DB практически невозможно.

Если ты считаешь, что я так сделал необдуманно или из лени, то ошибаешься. Отнюдь, при проработке этого момента я потратил некотрое количество мысленных усилий. И решил, что это оптимальный вариант.
Считаю, что работа которая может быть проделана до выполнения кода - должна быть продела до выполнения кода. То бишь, программист (пользователь метода ПрисоединитьИБ) должен в своем коде написать строку пути со слешем в конце.
Если программист не читает доку перед использованием, то - это его проблемы.
Если программист прочитал доку, но, по невнимательности, упустил замечание, то - это его проблемы.
Считаю что ВК 1с++ в целом и метод ПрисоединитьИБ в частности написаны не для домохозяек.

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

1&&2&&3
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #27 - 11. Сентября 2007 :: 15:48
Печать  
trad писал(а) 11. Сентября 2007 :: 15:38:
Если ты считаешь, что я так сделал необдуманно или из лени, то ошибаешься. Отнюдь, при проработке этого момента я потратил некотрое количество мысленных усилий. И решил, что это оптимальный вариант.
Считаю, что работа которая может быть проделана до выполнения кода, должна быть продела до выполнения кода. То бишь, программист (пользователь метода ПрисоединитьИБ) должен в своем коде написать строку пути со слешем в конце.
Если программист не читает доку перед использованием, то - это его проблемы.
Если программист прочитал доку, но, по невнимательности, упустил замечание, то - это его проблемы.
Считаю что ВК 1с++ в целом и метод ПрисоединитьИБ в частности написаны не для домохозяек.

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


УлыбкаХреновое у тебя обоснование: "работа которая может быть проделана до выполнения кода, должна быть продела до выполнения кода". ВСЕ пользователи твоего кода должны проделать ОДИНАКОВЫЕ действия. Это явный признак, что эти действия должны быть внесены в сам код. Плюс отсутствие такой проверки вынуждает пользователя учитывать подобные мелкие детали. ВК должна облегчать разработку, а не засорять мозг разработчика всякой мелочью. Плюс совершенно невразумительное сообщение об ошибке, если не указан слеш.

PS. Если ты считаешь указание на твои баги оскорблением, то это твои личные половые трудности.
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1С++ 2.5
Ответ #28 - 11. Сентября 2007 :: 16:29
Печать  
Uzhast писал(а) 11. Сентября 2007 :: 13:12:
2. COLEDBCommand :: ParseQuery. Наблюдаю в коде очень заботливый комментарий
Код
Выбрать все
	try
	{
		m_MetaNameParser.Parse();
	}
	catch (CMNPException* MNPException)
	{
		strErr = szMNPErrorPrefix + MNPException->GetErrorDescr();
		RuntimeError(strErr);

		MNPException->Delete(); // TODO этот код никогда не работает
	};
 



Про заботливый комментарий понравилось Улыбка
Этот код (исключение, а потом деструктор) на самом деле удачное копи-пасте и был выявлен давным-давно (Revision : 1.27.6.1 Date : 2006/9/3 8:0:35), но залито в репозитарий в ствол только по весне.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1С++ 2.5
Ответ #29 - 11. Сентября 2007 :: 18:49
Печать  
Полезная тема, хотя и эмоциональная, как водится

из последнего, о чем помню:
Код
Выбрать все
int CDynaValue::LoadFromString(const char *str, int inum)
...
if(p[3]='2')
 


некорректное присваивание (имелось в виду сравнение)

Код
Выбрать все
void CCollectionItem::SetName(LPCSTR szName)
if ( m_Name )
{
	realloc( m_Name, size );
}
else
{
	m_Name = static_cast<LPSTR>(malloc( size ));
}
 



нужно что-то типа
Код
Выбрать все
m_Name = static_cast<LPSTR>(m_Name ? realloc(m_Name, size) : malloc(size));
 



и если первое - это в общем-то мелочь (в предметном смысле), то CCollectionItem - это центровой игрок в современной 1cpp
  

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