Kenix Posted February 26, 2012 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
MX_Master Posted February 26, 2012 Posted February 26, 2012 das ist fantastish ^^ но ни одного примера
_Vincent_ Posted February 27, 2012 Posted February 27, 2012 Полезный хелп. Поправил грамматику и пару пропущенных слов.
MX_Master Posted February 27, 2012 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
Kernell Posted February 27, 2012 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
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