[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[Pawno - Урок] Учимся делать код лесенкой.
Дата: 06.10.2011, Четверг, 19:42:33 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 667
Репутация: 1425+
И так друзья, пожалуй начнём.

Что же такое Лестница.

В программировании "лестница", по сути, выполняет те же самые функции.
Наверняка вы заметили, что большинство строк в коде отодвинуты в правую сторону.
Это расстояние (пробелы) между левым краем и строкой и являются частями лестницы.
Чем "глубже" код, тем больше расстояние. Именно это упрощает понимание кода.


Вы задодите вопрос как?, я отвечу: лестница показывает к чему относится тот или иной код.
Например, у нас есть проверка if(какие-то параметры), и в ней тоже какой-то там код.
Этот код относится к нашей проверке, и его мы должны отодвинуть вправо.
Чтобы это сделать, необходимо выделить перемещаемый код и нажать на 'TAB'
Выделенный код отодвинулся вправо и теперь мы видим, что он относится к этой проверке.
Это должен понять ученик даже с 0 знаниями.


А если у вас появился warning 217: loose indentation .. то не бойтесь, это кокрас от того что тот или иной код построен не полесенки.

Рассмотрим на примере.

Пример возьмём с командой /restart.

первоначально сама команда выглядит вот так -

Quote
if(strcmp(cmd, "/restart", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GameModeExit();
}
return 1;
}


Как вы знаете, if - это проверка, а в скобках указываются какие-то необходимые параметры.
В них мы сейчас вникать не будем, но в коде четко видно, что все команды располагаются на
расстоянии в 1 таб от левого края. Это связано из-за того, что этот код принадлежит к
public OnPlayerCommand Text(playerid, cmdtext[]) и поэтому весь код внутри него табулирован.
В следствии этого мы полностью выделяем нашу команду и пока нажимаем на TAB 1 раз.
Теперь она имеет такое же расстояние, как и другой код(другие команды) этого колбека.

Затем четко видна проверка самой команды: if(strcmp(cmd, "/restart", true) == 0)
После нее открывается фигурная первая скобка "{", которая как бы показывает начало области этой проверки.
Раз есть скобка, показывающая начало, то и должна быть скобка, показывающая конец.
Логично предположить: первая скобка с начала показывает начало, а первая скобка с конца - конец.
Эти две скобки остаются на своем законном месте, а код, который находится между ними,
мы выделяем и, угадайте что мы с ним делаем? Да! Выделяем и так же нажимаем на TAB (1 раз).


Что же у нас получилось -

Quote
if(strcmp(cmd, "/restart", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GameModeExit();
}
return 1;
}

На этом всё.
Дата: 06.10.2011, Четверг, 20:01:24 | Сообщение # $NUMBER
Группа: Модераторы
Сообщений: 260
Репутация: -24+
Quote (Steep_Chele)
Что же у нас получилось -

Прекрасный результат.
Дата: 06.10.2011, Четверг, 21:29:18 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Репутация: 815+
по моему, код что до этого, что после одинаковый.
Дата: 06.10.2011, Четверг, 22:45:27 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 9
Репутация: 2266+
В форумах юкоза нет, и никогда не было поддержки написания кода лесенкой, хотя было бы полезно. По теме, это вообще урок разве? И именно это не pawn урок, а pawno, потому что в этот раз ты объясняешь как пользоваться редактором. Не путайте, друзья.
Дата: 07.10.2011, Пятница, 13:21:05 | Сообщение # $NUMBER
Группа: Модераторы
Сообщений: 260
Репутация: -24+
velix, КЭП CRAZY
Дата: 07.10.2011, Пятница, 13:43:18 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Репутация: 815+
Quote (velix)
В форумах юкоза нет, и никогда не было поддержки написания кода лесенкой, хотя было бы полезно. По теме, это вообще урок разве? И именно это не pawn урок, а pawno, потому что в этот раз ты объясняешь как пользоваться редактором. Не путайте, друзья.

А помойму если я не ошибаюсь я где то видел скрипт позволяющий показывать код лесенкой :)
Дата: 07.10.2011, Пятница, 16:24:03 | Сообщение # $NUMBER
Группа: Модераторы
Сообщений: 1045
Репутация: 1112+
Tailer, у окстайла на форуме было такое вроде
Дата: 08.10.2011, Суббота, 08:29:38 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 9
Репутация: 2266+
Есть такой скрипт, лично сам видел, только ссылку не записал ;(
Дата: 11.10.2011, Вторник, 13:42:09 | Сообщение # $NUMBER
Группа: Модераторы
Сообщений: 260
Репутация: -24+
Поищите в интернете
Дата: 14.10.2011, Пятница, 09:18:17 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 3
Репутация: 3+
Это все знают.Для новичков что ли ?
Дата: 18.10.2011, Вторник, 13:55:25 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 6
Репутация: 0+
Noble, нет, для проффесионалов.

Сорказм -_-
  • Страница 1 из 1
  • 1
Поиск: