Проблема со сканированьем.
#12

Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
Почитайте на тему (само)документирующегося кода.
Чтобы по быстрому понять какой новый смысл приобретает ячейка params[0] или params[1] вам надо было прописать соответствующий комментарий (а даже его у вас нет).

А если вам нужно тысячу таких команд проверить в сжатые сроки?
А если у вас команда в 500 строк? А если там ещё несколько раз меняет свой смысл params[0]? А если вы захотите модифицировать такую команду где-то посередине, а при этом забудете или перепутаете (проморгаете) строку, где меняется смысл params[0]?

Если вам нравится такой затратный по времени фетиш, можем только посочувствовать.
Ко всему вышеперечисленному следует записать краш в случае, когда команда с таким вот params[0]/params[1], которые обрабатываются в sscanf и в которой учтена возможность необязательных параметров, вызывается без параметров вообще (просто ввод команды). То бишь, вот такой код:
PHP код:
CMD:commandname(playeridparams[])
{
    
sscanf(params"I(-1)I(-1)"params[0], params[1]); 
    return 
true;
}
//
cmd::commandname(playerid"");// Ну или игрок просто введёт команду без параметров 
= краш, ибо sscanf отчаянно начнёт пытаться записывать данные в ячейки, которых просто не существует.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)