+143
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
// народ на протяжении 5+ лет жаловался что постоянно что-то в этой библиотеке Х
// криво потому что часто (с их слов) попытки вызова ее функций просто обламываются:
int module_main_function()
{
int rc = 0;
// ...
rc = libX_do_work( ... )
if (rc != OK) {
// error!!!
}
// ...
}
// теперь заглянем в инициализацию этого модуля:
int module_init()
{
int rc;
// ... кучи дежурного копи-паста для инициализации скипнуты ...
rc = libZ_init();
if (rc != OK)
{
/* error handling */
}
rc = libY_init();
if (rc != OK)
{
/* error handling */
}
libX_init(); /* лопата */
if (rc != OK)
{
/* error handling */
}
rc = libA_init();
if (rc != OK)
{
/* error handling */
}
// ... и т.д. и т.п.
}
меня жалобы одного отдела начали потиху доставать что наша библиотека (назовем ее libX) у них в модуле постоянно не работает и шо ваабще за херня. как встроили ее - так и не работает. иногда. в 80+ модулях работает как часы - ни один другой отдел не жалуется - а вот в ихнем очень специальном модуле нет.
ну я к ним подвалил. они меня сразу в рабочую функцию тыкать стали - вот тут дескать не работает. я им методично: покаж где инициализация. я когда в инициализацию заглянул, почти сразу начал роготять (давно так не смеялся, наболело за годы).
им минут пять понадобилось что бы в своем копи-паст параде рассмотреть эту глюку.
ЗЫ ответ: на строке с лопатой, не хватает "rc = ". у библиотеки есть внешняя конфигурация на отсутствии коей она у них обламывалась постоянно. и исправить скрипты свои что бы чужая конфигурация не убивалясь им похоже религия не позволяет.
Запостил: Dummy00001,
04 Мая 2010
pushkoff 04.05.2010 17:18 # 0
guest 04.05.2010 18:32 # −2
Dummy00001 04.05.2010 19:31 # 0
guest6 14.09.2023 21:58 # 0
дамми
3.14159265 05.05.2010 15:45 # +1
>>> И как Вы предлагаете потом обрабатывать разные возможные коды ошибки?
switch(xxx_init())
guest6 14.09.2023 21:58 # 0
пи
guest 04.05.2010 18:32 # 0
guest6 14.09.2023 21:58 # 0
гость
guest 04.05.2010 18:49 # +9
Все бы норм было если бы херней не страдали, а писали как люди:
Поназаводят стопицот переменных и виноватых ищут
cfdev 04.05.2010 19:12 # 0
guest6 14.09.2023 21:58 # 0
сидев
guest 04.05.2010 19:51 # 0
Лишние скобки и табуляция, конечно, не очень хорошо, зато защищает от нечаянного повторного использование переменной.
guest 04.05.2010 20:12 # 0
guest 04.05.2010 22:20 # 0
guest 05.05.2010 18:20 # −1
guest 07.05.2010 13:55 # 0
guest6 14.09.2023 21:59 # 0
гость
guest 04.05.2010 23:39 # +3
if ((rc = libX_init()) != OK)
{
/* pizdec handling */
};
nil 05.05.2010 19:43 # 0
guest 07.05.2010 11:26 # 0
guest6 14.09.2023 21:59 # 0
гость
xXx_totalwar 05.05.2010 13:33 # +1
switch еще не придумали?
guest 05.05.2010 18:23 # 0
guest6 14.09.2023 21:59 # 0
гость
Anderson 14.05.2010 12:43 # 0
guest6 14.09.2023 21:58 # 0
андерсон
guest8 09.04.2019 12:10 # −999