Commenti in Lua
I commenti in Lua sono porzioni di testo ignorate dall’interprete durante l’esecuzione. Servono a documentare il codice, spiegare la logica delle operazioni e rendere il programma piu comprensibile. Lua supporta commenti su singola riga e commenti multilinea.
Commenti su Singola Riga
I commenti su singola riga iniziano con il doppio trattino --. Tutto cio che segue sulla stessa riga viene ignorato:
-- Questo e un commento su singola riga
print("Ciao, mondo!") -- Commento dopo un'istruzione
local nome = "Lua" -- Il nome del linguaggio
Commenti Multilinea
I commenti multilinea iniziano con --[[ e terminano con ]]. Possono coprire piu righe:
--[[
Questo e un commento multilinea.
Puo coprire piu righe di codice.
E utile per documentazione estesa.
]]
print("Questo codice viene eseguito")
Lua supporta anche i “long brackets” con livelli, utili quando il testo contiene gia ]]:
--[=[
Commento di livello 1.
Puo contenere ]] senza problemi.
]=]
Commentare Blocchi di Codice
Un trucco molto usato per attivare e disattivare rapidamente un blocco di codice:
---[[
print("Questo codice VIENE eseguito")
print("Perche ---[[ e un commento su singola riga")
--]]
Rimuovendo il primo trattino, il blocco diventa un commento multilinea e il codice viene disattivato:
--[[
print("Questo codice NON viene eseguito")
--]]
Documentazione del Codice
Ecco un esempio di buone pratiche di documentazione ispirate a LuaDoc:
-- ============================================
-- Modulo: gestione_utenti.lua
-- Autore: Mario Rossi
-- Descrizione: Funzioni per la gestione utenti
-- ============================================
--- Calcola l'eta a partire dall'anno di nascita.
-- @param anno_nascita (number) L'anno di nascita
-- @return (number) L'eta calcolata
local function calcola_eta(anno_nascita)
local anno_corrente = os.date("%Y")
return tonumber(anno_corrente) - anno_nascita
end
Best Practices
- Spiega il perche, non il cosa: il codice dice gia cosa fa, i commenti spiegano il motivo.
-- MALE: Incrementa i di 1
i = i + 1
-- BENE: Compensa l'indice base-0 dell'API esterna
i = i + 1
- Usa tag per segnalare lavori futuri:
-- TODO: Implementare la validazione dell'email
-- FIXME: Non gestisce correttamente i caratteri speciali
-- NOTE: Algoritmo con complessita O(n^2)
- Commenta le sezioni logiche del codice:
-- Inizializzazione
local contatore = 0
local risultati = {}
-- Elaborazione dei dati
for i = 1, #dati do
if dati[i].valido then
contatore = contatore + 1
table.insert(risultati, dati[i])
end
end
-- Output dei risultati
print("Elementi validi: " .. contatore)
- Evita commenti ridondanti: non commentare cio che e gia ovvio dal codice stesso.
Conclusioni
I commenti sono essenziali per la scrittura di codice Lua di qualita. Usa -- per annotazioni brevi, --[[ ]] per documentazione estesa, e ricorda che un buon codice e in gran parte auto-documentante: i commenti dovrebbero integrare, non sostituire, la chiarezza del codice.