Architecture Decision Record

Active theme: Light

← Príklady záznamov rozhodnutí

Záznam architektonického rozhodnutia: editory programového kódu

Kontext

Editory programového kódu sú pre vývojárov nevyhnutným nástrojom na písanie a úpravu kódu. K dispozícii je mnoho editorov kódu, každý s vlastným súborom funkcií, výhod a nevýhod. Účelom tohto ADR je zdokumentovať architektonické rozhodnutia prijaté pre editory programového kódu.

Priority

Architektúra editorov programového kódu by mala uprednostňovať nasledujúce:

  • Modularita: Editor kódu by mal byť navrhnutý modulárne, aby ho vývojári mohli podľa potreby prispôsobovať a rozširovať. To umožňuje flexibilnú architektúru, ktorá sa dokáže prispôsobiť potrebám rôznych vývojárov a tímov.

  • Výkon: Editor kódu by mal byť výkonný a rýchlo reagovať, aby vývojári mohli pracovať efektívne a nebol ich spomaľovaný nástroj, ktorý používajú.

  • Používateľské rozhranie: Používateľské rozhranie by malo byť intuitívne a ľahko použiteľné, aby sa vývojári mohli sústrediť na svoj kód a nemuseli zápasiť s editorom.

  • Rozšíriteľnosť: Editor kódu by mal byť navrhnutý tak, aby umožňoval jednoduché rozšírenie pomocou zásuvných modulov a integrácií tretích strán.

  • Kompatibilita: Editor kódu by mal byť kompatibilný so širokou škálou programovacích jazykov a technológií, aby bol užitočným nástrojom pre široký okruh vývojárov.

Rozhodnutie

Na základe týchto priorít by mala byť architektúra editorov programového kódu navrhnutá s nasledujúcimi komponentmi:

  • Jadro: Tento komponent poskytuje základnú funkcionalitu editora kódu, ako je zvýrazňovanie syntaxe, úprava textu a správa súborov.

  • UI: Tento komponent poskytuje používateľské rozhranie editora kódu vrátane ponúk, panelov nástrojov a klávesových skratiek.

  • Zásuvné moduly: Tento komponent umožňuje vývojárom rozšíriť funkcionalitu editora kódu inštaláciou zásuvných modulov tretích strán. Zásuvné moduly môžu poskytovať ďalšie funkcie, ako je dopĺňanie kódu, linting alebo ladenie.

  • Integrácie: Tento komponent umožňuje editoru kódu integrovať sa s inými nástrojmi a technológiami, ako sú systémy správy verzií, build systémy alebo nástroje na ladenie.

Zdôvodnenie

Modularita editora kódu umožňuje vývojárom prispôsobiť a rozšíriť ho podľa potreby. To je dôležité, pretože rôzni vývojári a tímy majú rôzne potreby a pracovné postupy a flexibilná architektúra môže tieto rozdiely pojať.

  • Výkon: kľúčový, pretože vývojári musia byť schopní pracovať efektívne bez toho, aby ich nástroje spomaľovali. Výkonný editor kódu je nevyhnutný pre produktivitu a môže vývojárom pomôcť udržať si sústredenie a koncentráciu.

  • UI: dôležité, pretože umožňuje vývojárom sústrediť sa na svoj kód a nezápasiť s editorom. To môže viesť k lepšej produktivite a menšej frustrácii vývojárov.

  • Rozšíriteľnosť: silná, pretože umožňuje prispôsobiť editor kódu rôznym potrebám a pracovným postupom. Zásuvné moduly a integrácie tretích strán môžu poskytovať ďalšie funkcie a schopnosti, ktoré nie sú súčasťou základného editora.

  • Kompatibilita: cenná, pretože umožňuje používať editor kódu so širokou škálou programovacích jazykov a technológií. To z editora robí užitočnejší nástroj pre široký okruh vývojárov.

Komponenty jadra, zásuvných modulov, integrácií a UI poskytujú jasné oddelenie zodpovedností a umožňujú modulárnu architektúru, ktorú možno ľahko rozširovať a prispôsobovať. Táto architektúra je flexibilná, výkonná a kompatibilná so širokou škálou programovacích jazykov a technológií, vďaka čomu je užitočným nástrojom pre vývojárov.