Wiktionary:Stilguide/Skapa en modul

Hej, du har kommit hit för att leta efter betydelsen av ordet Wiktionary:Stilguide/Skapa en modul. I DICTIOUS hittar du inte bara alla ordboksbetydelser av ordet Wiktionary:Stilguide/Skapa en modul, utan du får också veta mer om dess etymologi, dess egenskaper och hur man säger Wiktionary:Stilguide/Skapa en modul i singular och plural. Allt du behöver veta om ordet Wiktionary:Stilguide/Skapa en modul finns här. Definitionen av ordet Wiktionary:Stilguide/Skapa en modul hjälper dig att vara mer exakt och korrekt när du talar eller skriver dina texter. Genom att känna till definitionen avWiktionary:Stilguide/Skapa en modul och andra ord berikar du ditt ordförråd och får tillgång till fler och bättre språkliga resurser.

Moduler på Wiktionary liknar mallar, men tack vare att de utnyttjar programmeringsspråket Lua så är de både kraftfullare och mer effektiva. Denna sida innehåller rekommendationer för hur en modul på svenska Wiktionary bör vara utformad.

Tillägget som erbjuder detta är Scribunto, och på den sidan finns mer teknisk information och till exempel hjälp om felsökning. Det finns även en referensmanual.

Exempel

Låt säga att denna exempelkod är innehållet i ]:

-- Alla moduler ska ha en local export-tabell som returneras i slutet av modulen.
-- Det är så man kommer åt och kan anropa funktionerna i modulen.
local export = {}  

-- Funktioner som ska anropas från mallar ska ta endast argumentet frame, via frame får man tag på argument.
-- De flesta moduler kommer bara ha en funktion som anropas från mallar för att skapa Wikitext, den ska heta getWikitext.
-- Funktionsnamn skrivs med camelCase
function export.getWikitext(frame)
	local short_message = "Hej snyggingar!"  -- variabelnamn skrivs med snake_case
	return short_message
end

-- Funktioner som bara används inom modulen ska deklareras som lokala.
local function myFunction()
	-- Funktionens innehåll...
end
 
return export  -- Alla moduler avslutas med att returnera export

Ovanstående exempel skulle anropas med {{#invoke:module-name|getWikitext}}.

Stilguide

  • Moduler som hör ihop med en specifik mall ska ha samma svenska namn som mallen. I andra fall ska modulens namn vara på engelska.
  • Modulens namn ska ha små bokstäver där orden är förbundna med bindestreck (dashed-lowercase). (Undantag är moduler som har importerats från en annan språkversion och som då kan få behålla sitt engelska namn men med avvikande versalisering (t.ex. PascalCase).
  • Namn på variabler och funktioner ska ska vara på engelska.
  • Variabler ska deklareras local och skrivas med små bokstaver och med orden separerade med understeck (snake_case).
  • Objektegenskaper/tabellnycklar räknas till variabler och skrivs med snake_case
  • Funktionsnamn skrivs med camelCase
  • Undvik kommentarer i koden. Koden ska vara lätt att läsa och förstå även utan kommentarer.
  • Kommentarer bör inte dokumentera modulen, detta ska göras i modulens dokumentation.
  • Lätt kod är bättre än smart kod.
  • Se gärna till Kategori:Sidor med skriptfel efter att du har ändrat i någon modul.
  • Kod ska vara indenterad med tabbar.
  • detta bör diskuteras Använd med fördel Modul:parameters för att ta emot argument från en mall- eller modul-inkludering. Med den modulen så begränsas vilka parametrar som är tillåtna att skicka in så att man kan upptäcka om man t.ex. stavat en parameter fel. Använd med fördel Modul:param för att detektera icke-uppskattade parametrar.

Testning

Alla funktioner i en modul ska ha tester som återfinns på undersidan /test till modulen. Testerna ska ge en snabb överblick över alla användningsfall i modulen så att man som utvecklare lätt kan se att modulen fungerar som det är tänkt och på så vis förhindra att man publicerar ändringar som har sönder mallen. Testramverket som vi använder oss av är Module:UnitTests.

Testen bör inkluderas i (slutet av) dokumentationssidan så att de enkelt blir synliga.