بهترین شیوه‌ها و بهینه‌سازی لوا

سبک کدنویسی، local در برابر global، بهینه‌سازی حلقه‌ها و الگوهای سریع

چرا سبک کدنویسی مهم است؟

کد خوب کدی است که: خوانا، قابل نگهداری و سریع باشد. در این مبحث قواعد طلایی کدنویسی لوا را مرور می‌کنیم.

قاعده ۱: همیشه local

-- بد: سراسری و کند
count = 0

-- خوب: محلی و سریع
local count = 0

قاعده ۲: local کردن توابع کتابخانه

-- هر بار جدول string جستجو می‌شود
local s = string.format("%d", 42)

-- یک بار local کنید — سریع‌تر
local fmt = string.format
local s2 = fmt("%d", 42)

قاعده ۳: ایندکس مستقیم به‌جای table.insert

-- قابل قبول
local t = {}
for i = 1, 100 do
  table.insert(t, i)
end

-- سریع‌تر: ایندکس مستقیم
local t2 = {}
for i = 1, 100 do
  t2[i] = i
end

قاعده ۴: الحاق رشته در حلقه = فاجعه!

-- خیلی کند: هر بار رشته جدید می‌سازد
local s = ""
for i = 1, 10000 do
  s = s .. i .. ","
end

-- سریع: جدول + concat
local parts = {}
for i = 1, 10000 do
  parts[i] = i
end
local s2 = table.concat(parts, ",")

قاعده ۵: نام‌گذاری معنادار

-- مبهم
local d = 86400

-- واضح
local SECONDS_PER_DAY = 86400

قاعده ۶: توابع کوچک و تک‌مسئولیتی

-- به‌جای یک تابع غول‌پیکر:
function validate(input) ... end
function transform(data) ... end
function save(result) ... end

قاعده ۷: بررسی نوع ورودی

local function transfer(amount)
  assert(type(amount) == "number", "amount باید عدد باشد!")
  assert(amount > 0, "amount باید مثبت باشد!")
end

سبک استاندارد لوا

چک‌لیست نهایی

این مبحث بخشی از دوره آموزش کامل لوا است.

ابزارهای مرتبط