Часто замечаю код примерно такого вида:
Код:
#define MAX_HOUSES 1000
function_name(value)
{
for(new i = MAX_HOUSES; i != 0; --i)
{
if(i == value)
{
strmid(gHouse[i][hOwner], "none", 0, MAX_PLAYER_NAME, MAX_PLAYER_NAME);
new string[60+(-2+MAX_PLAYER_NAME)+(-2+4)+1];
format(string, sizeof(string), "UPDATE `houses` SET `owner` = '%s' WHERE `id` = '%d' LIMIT 1", gHouse[i][hOwner], i);
mysql_tquery(dbHandle, string, "", "");
}
return 1;
}
}
Однако, сам пишу код следующего вида:
Код:
#define MAX_HOUSES 1000
function_name(value)
{
for(new i = MAX_HOUSES; i != 0; --i)
{
if(i != value)
continue;
strmid(gHouse[i][hOwner], "none", 0, MAX_PLAYER_NAME, MAX_PLAYER_NAME);
new string[60+(-2+MAX_PLAYER_NAME)+(-2+4)+1];
format(string, sizeof(string), "UPDATE `houses` SET `owner` = '%s' WHERE `id` = '%d' LIMIT 1", gHouse[i][hOwner], i);
mysql_tquery(dbHandle, string, "", "");
}
return 1;
}
[hr]
Я считаю, что гораздо удобнее в начале задать условия выхода из данной итерации. Их сразу будет видно. Плюс к этому я обошелся без лишних скобок. Но все же интересно узнать, как будет лучше (я так на более простом примере сравнивал, в принципе, по скорости работы разницы нет). И да, приложил код, который бы реализовывал и в своем моде. В некотором роде специально, вдруг что предложить сможете по данной реализации (функцию, например, какую-нибудь другую посоветуете вместо strmid, либо иначе объявить максимальное количество домов).
Заранее большое спасибо)