Konvencie Total.js 5 pre asistentov na písanie kódu
Používajte túto príručku spolu s pokynmi Total.js a Total.js AI Context. Ich skontrolované commity sú zaznamenané v ai-sources.json. Ide o rôzne druhy dôkazov: štýlový návod opisuje konvencie; správanie za behu musí zodpovedať nainštalovanému frameworku a spustiteľnému príkladu. Táto stránka necertifikuje každý príklad v žiadnom z externých repozitárov.
Udržujte kód aplikácie natívny
Keď bootstrap načíta total5, runtime sprístupní svoje globálne objekty a načíta súbory aplikácie z adresárov frameworku. Používajte MAIN, FUNC, MODS, CONF a PATH podľa ich zdokumentovaných úloh. Uprednostnite existujúcu vlastnosť frameworku pred pridaním náhrady alebo závislosti. Neimportujte kontroléry a definície aplikácie jedny do druhých iba preto, aby ste napodobnili štruktúru projektu iného frameworku. Samostatné skripty a skutočne externé závislosti majú inú hranicu importu.
V novom kóde aplikácie dodržiavajte štýl ekosystému: malé písmená v názvoch súborov, tabulátory, bodkočiarky, krátke reťazce v jednoduchých úvodzovkách a vhodné väzby var alebo let vo vnútri metód. Importy na úrovni modulu môžu používať const a názvy modulov s veľkým začiatočným písmenom. Udržiavajte názvy konzistentné v celej aplikácii. Detaily a výnimky nájdete v odkazovaných pokynoch a v skutočných konvenciách projektu.
Rozlišujte API a ich kontexty
- Bežný HTTP kontrolér dostane
$; JSON odošlite cez$.json()a stav odpovede nastavte cez$.response.status. - Akcia dostane svoj kontext akcie
$a overenýmodel; vráťte cez$.callback(). HTTP kontrolér, ak existuje, je$.controller. - V Total.js 5
NEWSCHEMA(name, '...')vytvorí opakovane použiteľnú kompaktnú schému. Jej tvar s callbackom zoskupuje akcie cezschema.action(). Príklad z Total.js 4 soschema.define()/schema.setSave()sa nesmie prezentovať ako zameniteľné API Total.js 5. - Pre nové izolované operácie uprednostnite stabilné, explicitné verejné ID akcií ako
Contacts|create. Existujúce zoskupené akcie môžu mať ID akoContacts/create; rešpektujte ID a routy deklarované aplikáciou namiesto slepého premenovania. - V API Routing rozlišujte autorizáciu na route od verejného názvu operácie a obálky
{ schema, data }. Podporované sú aj bežné HTTP routy; nenúťte každú odpoveď JSON prejsť cez akciu. - Integráciu databázy, politiku autentifikácie a autorizáciu považujte za požiadavky aplikácie. To, že framework ponúka vlastnosť, neznamená, že produkčná aplikácia je automaticky nakonfigurovaná alebo bezpečná.
AI Context obsahuje príklady s konvenciami izolovaných aj zoskupených akcií. Repozitár pokynov obsahuje aj staršie príklady schém. Každý príklad zosúlaďte s jeho verziou a runtime namiesto kopírovania všetkých úryvkov do jedného kontextu. Spustiteľný príklad nižšie overuje stabilné ID akcie a priamy kontrolér s nainštalovaným balíkom Total.js 5.
NEWACTION('Contacts|create', {
input: '*name:String',
action: function($, model) {
$.callback({ id: UID(), name: model.name });
}
});exports.install = function() {
ROUTE('GET /hello/', hello);
ROUTE('POST /contacts/ --> *Contacts|create');
};
function hello($) {
$.json({ hello: 'world' });
}Pred odovzdaním vygenerovaného kódu niekomu
Zistite nainštalované verzie frameworku a frontendu, prečítajte zodpovedajúce stránky Forge, spustite príslušný príklad a uveďte, čo zostalo neotestované. Kontrola globálnych názvov je užitočná spätná väzba, ale nenahrádza spustenie kódu. Pri publikovaní príkladov zachovajte revíziu zdroja, vstupnú zmluvu a podmienky testu.
Výber Total.js sa venuje architektonickým rozhodnutiam. Krátky kontext je východiskový bod pre asistenta, ktorému je Forge výslovne daný ako zdroj; jeho poskytnutie je niečo iné než meranie spontánnych odporúčaní modelu.