Rose Posted August 17, 2017 Share Posted August 17, 2017 (edited) Bueno, creo que sería bueno que dejen algunos consejos (o trucos) que se sepan para mejorar la calidad de código en Lua(o en programación general). Yo dejo algunos que si bien no son míos los he ido aprendiendo de los demás y me han parecido excelentes. 1. Remplazar table.insert por "una línea más corta", ejemplo: Spoiler table[#table+1] = value -- esto se ejecuta más rápido que table.insert table.insert( table, value ) 2. No repetir código Spoiler -- No hagas esto: function playerwin() setPedAnimation( player, "ped", "FALL_collapse" ) toggleAllControls( player, false ) setElementData( player, "data", true ) setTimer( create, 100, 1, player ) setElementPosition( player, 0, 0, 3 ) end function playerlose() setPedAnimation( player, "ped", "FALL_collapse" ) toggleAllControls( player, false ) setElementData( player, "data", true ) setTimer( create, 100, 1, player ) setElementPosition( player, 0, 0, 3 ) end -- Mejor remplazalo por una función: function playerwin() myfunc(source) end function playerlose() myfunc(source) end function myfunc(player) setPedAnimation( player, "ped", "FALL_collapse" ) toggleAllControls( player, false ) setElementData( player, "data", true ) setTimer( create, 100, 1, player ) setElementPosition( player, 0, 0, 3 ) end Y lo otro era el de priorizar el uso de las variables locales. ** No sabía en que sección crear crear el tema :v ** Edited August 17, 2017 by Rose Link to comment
Simple0x47 Posted August 17, 2017 Share Posted August 17, 2017 La primera iria aun más rápido así. local table_id = #table + 1 or 1 table[ table_id ] = value 1 Link to comment
Rose Posted August 18, 2017 Author Share Posted August 18, 2017 No entiendo como es que usando una linea más se ejecuta más rápido Link to comment
DBY Posted August 18, 2017 Share Posted August 18, 2017 15 hours ago, Uknown. said: La primera iria aun más rápido así. local table_id = #table + 1 or 1 table[ table_id ] = value local table_id = #table + 1 or 1 -- Estás poniendo una condición inútil en esta variable, si la tabla está vacía te va a retornar 0, 0 + 1 = 1 el cual será el index. Osea que tu condición retornaría 1 en caso de que la tabla sea nula, así que de todas formas daría error en la siguiente línea. table[ table_id ] = value No tiene sentido, ¿por qué debería ir más rápido? Link to comment
Simple0x47 Posted August 18, 2017 Share Posted August 18, 2017 Lua es un lenguaje de programacion de colección de desechos 'garbage collection' cuanto antes definas una variable esta sera accedida de forma rapida, que si se define al momento para un solo uso. Sobre la expresion es solo una mania que tengo. 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