Не правете това!!!
37 отговора
0 прегледа
Не правете това!!!
if(xdControlId == WIN_AREA_PB_OK) bOk = 1;
else if (xdControlId == WIN_AREA_PB_NEXT) bOk = 2;
else if (xdControlId == WIN_AREA_PB_PREV)bOk = 3;
И като ми ги подкара 10 такива,направо ми се губи логиката

Просто поредната боза.Не можах да се стърпя.Извенете ме .
else if (xdControlId == WIN_AREA_PB_NEXT) bOk = 2;
else if (xdControlId == WIN_AREA_PB_PREV)bOk = 3;
И като ми ги подкара 10 такива,направо ми се губи логиката
Просто поредната боза.Не можах да се стърпя.Извенете ме .
Re: Не правете това!!!
В случая един суич май е по-подходящ, но все пак и това ми се струва четливо. Да не би на теб да ти е по-четливо така:
if (xdControlId == WIN_AREA_PB_OK)
{
bOk = 1;
}
else
{
if (xdControlId == WIN_AREA_PB_NEXT)
{
bOk = 2;
}
else
{
if (xdControlId == WIN_AREA_PB_PREV)
{
bOk = 3;
}
}
}
Жалко само че не мога да го форматирам с отстъпи
if (xdControlId == WIN_AREA_PB_OK)
{
bOk = 1;
}
else
{
if (xdControlId == WIN_AREA_PB_NEXT)
{
bOk = 2;
}
else
{
if (xdControlId == WIN_AREA_PB_PREV)
{
bOk = 3;
}
}
}
Жалко само че не мога да го форматирам с отстъпи
Re: Не правете това!!!
bOk сигурно е BOOL?
И двамата сте уволнени
Вися на мекия космат хуй на времето.
И двамата сте уволнени
Вися на мекия космат хуй на времето.
Аре една тесличка и от мен...
bOK = (xdControlId == WIN_AREA_PB_OK ? 1 : (xdControlId == WIN_AREA_PB_NEXT ? 2 : (xdControlId == WIN_AREA_PB_PREV ? 3 : ...)));
А т'ва как се чете, а?
General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!
Re: Не правете това!!!
Опростил съм нещата.Когато сложиш малко код е една доста по-дълга последователност,наистина можеш да се объркаш за съответсвието if/else
Re: Не правете това!!!
Абе, да ви имам и кода...
switch() {
case :
break;
default:
}
А като е bOk, демек bool, вземете си сменете типа бе, да му се не види...
Абе, кво се занимавам
switch() {
case :
break;
default:
}
А като е bOk, демек bool, вземете си сменете типа бе, да му се не види...
Абе, кво се занимавам
Re: Не правете това!!!
Не вярвам да е bool, защото смело му се присвояват стойности 1,2,3...
Re: Аре една тесличка и от мен...
Тук става дума за четливост, а не кой най-бързо ще се оправи със спагетите на другарчето
Re: Не правете това!!!
принципно нямаш грижи особено на виндовския (BOOL) да присвоиш квото ти кефне.
Вися на мекия космат хуй на времето.
Вися на мекия космат хуй на времето.
Re: Не правете това!!!
Това дето low-cost индийците не ползват case, е заразно. Недей се коси ...
Re: Не правете това!!!
Напротив, има как - ползвай {pre} {/pre} (смени {} със []).
Пример:
Пример:
else if(what==wrkVisible)
if(part)
wrk->Visible=true;
else
wrk->Visible=false;
else if(what==ChangeVal)
value[part]=-200;
else if(what==ChangeValHumTemp)
{
MainForm->sush2[part].valueh=-200;
MainForm->sush2[part].valuet=-200;
}
Re: Не правете това!!!
е то на ц++ския квото и различно от 0 да му присвоиш се ше стане 1
Не правете и това!!!
private boolean method1(byte[] param) {
logger.debug(...);
boolean result = false;
do {
if (param == null) {
logger.error(...);
break;
}
if (param.length<=0) {
logger.error(...);
break;
}
try {
System.arraycopy(...);
} catch (Exception e) {
logger.error(...);
break;
}
ByteArrayInputStream bis = new ByteArrayInputStream(...);
if (bis == null) {
logger.error(...);
break;
}
InputSource inputSource = new InputSource(bis);
if (inputSource == null) {
logger.error(...);
break;
}
try {
...
} catch (IOException ioe) {
logger.error(...);
break;
}
result = true;
} while (0+0 != 0);
logger.debug(...);
return result;
}
Re: Не правете това!!!
bOK = (xdControlId == WIN_AREA_PB_OK ) + 2*(xdControlId == WIN_AREA_PB_NEXT )+ 3*(xdControlId == WIN_AREA_PB_PREV );
Re: Не правете и това!!!
FYI, Цялото ИнДизайн СДК е изградено върху този патърн
ref
ref
Re: Не правете и това!!!
Мерси за информацията. Това че някой някъде го е използвал не го прави добро. А и това е само един от проблемите на въпросния код.



Re: Не правете и това!!!
ау това с do while(true) кои болен мозък го е родил?
ЕДИТ: АААААА зацепих - имали са coding стандарт да не пишат return в средата на функция. Ясно...
ЕДИТ: АААААА зацепих - имали са coding стандарт да не пишат return в средата на функция. Ясно...
Редактирано от MaтaKocмaтa на
Re: Не правете това!!!
Малко съм позабравил Ц-то, ама не може ли това
if(part)
wrk->Visible=true;
else
wrk->Visible=false;
да се замени с
wrk->Visible=part

if(part)
wrk->Visible=true;
else
wrk->Visible=false;
да се замени с
wrk->Visible=part
Re: Аре една тесличка и от мен...
main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c))**c=!c)write(!!*c,*c,!!**c);}
Нещо като това ще дойде да е
y%4==0?y%100==0?y%400==0?true:false:true:false;
y%4!=0?false:y%100!=0?true:y%400!=0?false:true;
Или като тия два начина да се провери дали годината е високосна.
(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c))**c=!c)write(!!*c,*c,!!**c);}
Нещо като това ще дойде да е
y%4==0?y%100==0?y%400==0?true:false:true:false;
y%4!=0?false:y%100!=0?true:y%400!=0?false:true;
Или като тия два начина да се провери дали годината е високосна.