[go: up one dir, main page]

Pereiti prie turinio

Stuburas (programavimas)

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
   Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius.
Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais.

Stuburas (angl. stub) – metodas, kurio kodas tėra kitokio, skirtingo kodo pakaitalas. Stuburai dažniausiai naudojami tokiais atvejais:

  1. Tikrasis nuotolinio objekto metodo kodas yra kitame kompiuteryje ir pasiekiamas tik per tinklą. Vietoje esančio stuburo kodas atsakingas už nuotolinio metodo iššaukimą, argumentų perdavimą ir rezultatų priėmimą. Tokie automatiškai generuojami stuburai labai paplitę, tačiau pastaruoju metu juos ima keisti lankstesni proxy objektai.
  2. Tikrajam metodo kodui reikalinga tik per tinklą pasiekiama informacija, tačiau kuriamos sistemos testavimui visiškai pakanka supaprastinto šio objekto pakaitalo, apsieinančio su vietoje esančiais duomenimis. Tokio pakaitalo elgesys nepriklauso nuo tinklo būsenos ir prieinamumo, testas trunka daug trumpiau. Panašus metodas testuose naudojamas ir jei tikrasis algoritmas pernelyg lėtas. Žinoma, taip negalima patikrinti laikinai nenaudojamo tikrojo algoritmo, tačiau galima tikrinti kitas su juo sąveikaujančias programos dalis.
  3. Tikrasis stuburo algoritmas yra pernelyg sudėtingas, todėl konkrečiai užduočiai spręsti naudojamas labai supaprastintas jo variantas. Pavyzdžiui, užuot traukus kvadratinę šaknį, naudojama iš anksto apskaičiuota pirmųjų šimto sveikųjų skaičių apytikrių šaknies reikšmių lentelė. Tokiam stuburui būtinas aiškus komentaras, nurodantis jo galimybių ribas.
  4. Metodas kol kas dar neparašytas, tačiau vietoje jo yra jokių veiksmų neatliekantis tuščias metodas su tuo pat vardu, parametrais bei grąžinama reikšme. Tokių stuburų kartais prireikia tam, kad kiti komandos nariai galėtų tęsti nuo metodo buvimo priklausančią savo darbo dalį; visuomet stengiamasi jų turėti kuo mažiau. Šio tipo stuburas niekuomet neturi būti kviečiamas, jo kodas paprastai iškart meta klaidos išimtį.