Jump to content

Consejos sobre optimización de código(?


Rose

Recommended Posts

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 by Rose
Link to comment
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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...