[Pawno - Урок] Учимся делать код лесенкой.
|
|
Дата: 06.10.2011, Четверг, 19:42:33 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 667
И так друзья, пожалуй начнём.
Что же такое Лестница.
В программировании "лестница", по сути, выполняет те же самые функции. Наверняка вы заметили, что большинство строк в коде отодвинуты в правую сторону. Это расстояние (пробелы) между левым краем и строкой и являются частями лестницы. Чем "глубже" код, тем больше расстояние. Именно это упрощает понимание кода.
Вы задодите вопрос как?, я отвечу: лестница показывает к чему относится тот или иной код. Например, у нас есть проверка 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
Quote (Steep_Chele) Что же у нас получилось - Прекрасный результат.
|
|
|
Дата: 06.10.2011, Четверг, 21:29:18 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
по моему, код что до этого, что после одинаковый.
|
|
|
Дата: 06.10.2011, Четверг, 22:45:27 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 9
В форумах юкоза нет, и никогда не было поддержки написания кода лесенкой, хотя было бы полезно. По теме, это вообще урок разве? И именно это не pawn урок, а pawno, потому что в этот раз ты объясняешь как пользоваться редактором. Не путайте, друзья.
|
|
|
Дата: 07.10.2011, Пятница, 13:21:05 | Сообщение # $NUMBER
Группа: Модераторы
Сообщений: 260
velix, КЭП
|
|
|
Дата: 07.10.2011, Пятница, 13:43:18 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Quote (velix) В форумах юкоза нет, и никогда не было поддержки написания кода лесенкой, хотя было бы полезно. По теме, это вообще урок разве? И именно это не pawn урок, а pawno, потому что в этот раз ты объясняешь как пользоваться редактором. Не путайте, друзья. А помойму если я не ошибаюсь я где то видел скрипт позволяющий показывать код лесенкой
|
|
|
Дата: 07.10.2011, Пятница, 16:24:03 | Сообщение # $NUMBER
Группа: Модераторы
Сообщений: 1045
Tailer, у окстайла на форуме было такое вроде
|
|
|
Дата: 08.10.2011, Суббота, 08:29:38 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 9
Есть такой скрипт, лично сам видел, только ссылку не записал ;(
|
|
|
Дата: 11.10.2011, Вторник, 13:42:09 | Сообщение # $NUMBER
Группа: Модераторы
Сообщений: 260
Поищите в интернете
|
|
|
Дата: 14.10.2011, Пятница, 09:18:17 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 3
Это все знают.Для новичков что ли ?
|
|
|
Дата: 18.10.2011, Вторник, 13:55:25 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 6
Noble, нет, для проффесионалов.
Сорказм -_-
|
|
|