Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 27.03.2016 во всех областях

  1. 1 балл
    Доброго времени суток, игроки. Я тут решил написать небольшой сборник советов для начинающих программистов. Возможно кому нибудь понадобится. 1 проблема: не использование булева В чём суть проблемы: игроки используют 1 и 0 как включено и выключено. Вместо true и false, как это надо делать. В чём причина проблемы: булева занимают минимальное из всех типов данных место. Булева поддерживают такую операцию как x = not x, которая так быстро прижилась в моём коде для создания переключателей. В добавок и сам код выглядит красивее, не нужно ставить комменты в коде что означает 1 и 0. 2 проблема: комментировать всё подряд (если это не обучающий код) Способ решения: со временем приходит осознание того что ты делаешь и как. Если код написан так как надо, то тут и комменты не нужны. Любой прогер взглянет и поймёт что в переменных x и y хранятся координаты. Комменты следует ставить там где они действительно нужны 3 проблема: использование чего то вроде этого if x==true then ... end. В чём ошибка? Да в том что сравнение тут совершенно не нужно. Достаточно написать if x then ... end чтобы условие выполнялось, когда x чему либо равен, кроме false и nil. 4 проблема: длинный комменты, там где они могут замениться более простым пояснением что к чему. Способ решения: нарисовать псевдографикой поясняющий рисунок между символами --[[ и ]]. Внутри них всё воспринимается как коммент. Вот пример: Итак что мы видим в примере? Это игра Cube. Здесь мы видим такую строку как door.pos={false,false,false,false} (в проге она означает положение дверей, закрыты они или открыты). Но без комментов не понять под каким номером какая комната. Можно было бы написать 4 коммента и расписать что 1 - верхняя комната и так далее что не так удобно. Но при помощи псевдографики можно очень понятный рисунок нарисовать, который сразу все вопросы закроет. 5 проблема: использование глобальных переменных. Это очень важный пункт. В большинстве случаев в проге используются локальные переменные (в том числе и локальные функции). Это позволит экономить память, так как когда задаются локальные переменные в функции, по завершении этой функции они все удаляться из памяти. Освободив как саму переменную, которую мы сможем использовать с таким же именем, так и место в памяти. В общем, экономия и порядок будет в коде тех кто использует локальные переменные. Способы выявления ошибка: Как правило строку в которой произошла ошибка и путь к ней пишется на экране, где бы вы lua не использовали. Но если случилась непонятная ситуация - ставьте print(здесь нужная переменная). Так мы сможем проверить, соответствует ли переменная тому что мы хотим получить. Если нет - решаем причину несоответствия. А так же мы можем написать следующую конструкцию print(type(x)), где мы проверим тип переменной x ( в вашем случае другой переменной). Для чего нужно? А вот например случается беда когда числовая переменная с какой то кстати становится строкой. (как произошло в моей проге Open Clicker). В итоге цифра как бы есть, но не производятся всяческие вычисления. Так как тип переменной - string. В данной ситуации на помощь приходят функции tostring() и tonumber() которые пытаются перевести переменную в стоку и число. Например tonumber("1".."02"). В данном случае две string строки сложатся в одну строку и переведутся в тип число. Как предотвратить ошибки: Учиться программировать. Использовать хороший текстовый редактор с подсветкой синтаксиса (очень помогает при выявлении лишнего или недостающего end). У меня вот стоит Notepad++, поддерживает вкладки что тоже удобно. Да и нумерация строк полезна. Не в коем случае не программируйте в стандартном блокноте или ещё хуже в OpenOS. Это возможно, но крайне не удобно.
  2. 1 балл
    Нашел эту табличку на англоязычном форуме по OpenComputers. Картинка за авторством Eunomiac показывает весь 8-битный диапазон цветов, доступный для отображения на алмазном дисплее. Пользуясь схемой, легко подобрать цвета для вашего интерфейса, и тут же составить к ним шестнадцатеричный код.
  3. 1 балл
    Может и высосано, но хотя бы по теме форума, в последнее время один флуд и оффтоп.
  4. 1 балл
    Я сам так пишу иногда. Есть условия, когда if value == true then необходимо. Да и while 1 do тоже иногда пишу, ибо короче чем true. Это как бы всё не важно, я считаю. Пока "новичек" сам не пожелает, будут у него переменные в роде peremennaya_asdasd.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...