Kenix Posted February 26, 2012 Share Posted February 26, 2012 (edited) Перед тем, как выложить код, лучше всего пройтись по этим пунктам: Стандарт оформления кода Наличие общего стиля программирования облегчает понимание исходного кода. Внутри любых управляющих конструкций операторы следует располагать с отступом. Бинарные операторы следует обрамлять пробелами. Комментарии Старайтесь комментировать нужные строчки кода.( по вашему мнению ) Это намного упростит его чтение. Объявление переменных, событий, обработчиков Порядок: Это также улучшит чтение кода. Логи Если у вас не работает скрипт, то используйте /debugscript 3 в чате или debugscript 3 в консоли. Также все ошибки будут в логах. Серверный лог: Папка сервера\server\mods\deathmatch\logs\server.log Клиентский лог: Папка клиента\MTA\clientscript.log Не забывайте чистить логи. Логически нерабочий код Если ваш код отказывается работать, ни дебаг сообщений, ни логов нет, то следует проверить каждую строку кода. А именно: Полностью нерабочий код Если ваш код отказывается работать, то возможно ваш код имеет синтаксические ошибки. Лучше всего вшить в вашу текстовую программу дебаггер. Если вы не знаете, как вшить в текстовую программу дебаггер, то лучше всего скачать уже готовую программу с дебаггером: Полностью нерабочий ресурс Если ваш ресурс отказывается работать, то следует проверить meta.xml. Возможно, meta.xml имеет синтаксические ошибки и поэтому ваш ресурс не будет работать в любом случае. Подробнее о meta.xml https://wiki.multitheftauto.com/index.ph ... U/Meta.xml Добавление событий ( addEvent ) Переменные Функции Обработчики событий ( addEventHandler,... ) ( Обработчики - функции, которые обрабатывают события. ) Переменные Условия Возвращаемые значения функций и т.д. Notepad++viewtopic.php?f=91&t=30077 LuaEdithttp://sourceforge.net/projects/luaedit ... t/download MTA Script editorviewtopic.php?t=24834 Edited January 24, 2019 by Kenix Link to comment
MX_Master Posted February 26, 2012 Share Posted February 26, 2012 das ist fantastish ^^ но ни одного примера Link to comment
_Vincent_ Posted February 27, 2012 Share Posted February 27, 2012 Полезный хелп. Поправил грамматику и пару пропущенных слов. Link to comment
Kenix Posted February 27, 2012 Author Share Posted February 27, 2012 Смысл хуже сделал Подправил. Link to comment
MX_Master Posted February 27, 2012 Share Posted February 27, 2012 Винс, лучше бы пример добавил (: Вот мой пример правильно оформленного кода -- настройки local tSAMPSettings = { bAllowGlithes = true, -- разрешить баги игры bLimitFPS = true, -- лимит ФПС bLimitPlayersCount = true -- лимит игроков } -- функция-шутка local function fWelcomeBackToSAMP ( ) -- выход, если настройки не найдены if not tSAMPSettings or type(tSAMPSettings) ~= 'table' then return false end if tSAMPSettings.bAllowGlithes then setGlitchEnabled( "quickreload", true ) setGlitchEnabled( "fastmove", true ) setGlitchEnabled( "fastfire", true ) setGlitchEnabled( "crouchbug", true ) end if tSAMPSettings.bLimitFPS then setFPSLimit(25) end if tSAMPSettings.bLimitPlayersCount then setMaxPlayers(500) end return true end 1 Link to comment
Kernell Posted February 27, 2012 Share Posted February 27, 2012 1. Фигурные скобки следует переносить на новую строку, ты ведь сам говорил что юзаешь стиль BSD. 2. Отступы в таблицах следует делать вместе с бинарными операторами, т.е. local tSAMPSettings = { bAllowGlithes = true; -- разрешить баги игры bLimitFPS = true; -- лимит ФПС bLimitPlayersCount = true; -- лимит игроков } Ну и не знаю как вы, а я как сишник привык ставить точку с запятой и для меня это правильно работает в Lua (вообще даже в школах на математике учат ставить точку с запятой). 3. Бинарные операторы следует обрамлять пробелами. 4. Лучше пользоваться венгерской нотацией, раз ты взялся ставить префиксы как тип в названиях переменных. ИМХО, пример не очень. -- настройки local aSAMPSettings = { m_bAllowGlithes = true; -- разрешить баги игры m_bLimitFPS = true; -- лимит ФПС m_bLimitPlayersCount = true; -- лимит игроков } -- функция-шутка local function WelcomeBackToSAMP() -- выход, если настройки не найдены if type( aSAMPSettings ) ~= 'table' then -- nil тоже тип return false; end if aSAMPSettings.m_bAllowGlithes then for _, value in ipairs( { "quickreload", "fastmove", "fastfire", "crouchbug" } ) do setGlitchEnabled( value, true ); end end if aSAMPSettings.m_bLimitFPS then setFPSLimit( 25 ); end if aSAMPSettings.m_bLimitPlayersCount then setMaxPlayers( 500 ); end return true; end По мне так, этот код более читабелен (вообще в коде MTA можно увидеть этот стиль). P.S. Вообще надо вот так код оформлять http://cs6002.vk.com/u38799199/118091232/z_e640b3de.jpg Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now