Fa'atino su'esu'ega fa'ata'atia i le fa'agasologa, nai lo le fa'aaogaina e su'e ai fa'aletonu

Na faʻaosofia aʻu e tusia lenei tusiga e ala i le tele o mea i luga o suʻesuʻega faʻamautu lea ua faʻateleina ona oʻo mai i loʻu mafaufau. Muamua, o lenei PVS-studio blog, lea e faʻamalosia malosi ia lava i luga o Habré faʻatasi ai ma le fesoasoani o iloiloga o mea sese na maua e la latou meafaigaluega i galuega faʻavae tatala. Talu ai nei na faʻatinoina ai le PVS-studio lagolago Java, ma, ioe, o le au atiaʻe o IntelliJ IDEA, o lana suʻega faʻapipiʻi atonu o le sili ona maualuga mo Java i aso nei, sa le mafai ona alu ese.

Pe a faitau ia iloiloga, e te maua le lagona o loo tatou talanoa e uiga i se elixir faamaneta: fetaomi le faamau, ma o iinei - o se lisi o faaletonu i luma o ou mata. E foliga mai a o faʻaleleia tagata suʻesuʻe, o le a otometi lava ona maua le tele ma le tele o bug, ma o oloa e suʻesuʻeina e nei robots o le a sili atu ma sili atu, e aunoa ma se taumafaiga i la tatou vaega.

Ae e leai ni elixirs faʻapitoa. Ou te fia talanoa e uiga i mea e masani ona le talanoa e uiga i pou e pei o "o mea nei e mafai ona maua e le tatou robot": mea e le mafai e tagata suʻesuʻe ona fai, o le a le latou matafaioi moni ma le nofoaga i le faagasologa o le tuʻuina atu o polokalama, ma pe faʻapefea ona faʻatinoina saʻo. .

Fa'atino su'esu'ega fa'ata'atia i le fa'agasologa, nai lo le fa'aaogaina e su'e ai fa'aletonu
Ratchet (punavai: wikipedia).

O a mea e le mafai ona faia e le au su'esu'e static

O le a le su'esu'ega o le source code, mai se vaaiga fa'atino? Matou te tuʻuina atu nisi faʻamatalaga faʻamatalaga e fai ma faʻaoga, ma faʻapipiʻi, i se taimi puupuu (sili atu le puʻupuʻu nai lo suʻega suʻega) matou te maua ai ni faʻamatalaga e uiga i la matou polokalama. Ole tapula'a fa'avae ma fa'amatematika e le mafai ona fa'ato'ilaloina e mafai ona tatou maua na'o se vasega vaapiapi o fa'amatalaga i lenei auala.

O le faʻataʻitaʻiga sili ona taʻutaʻua o se faʻafitauli e le mafai ona foia i le faʻaaogaina o suʻesuʻega static o faafitauli tapunia: O se a'oa'oga lea e fa'amaonia ai e le mafai ona atia'e se algorithm lautele e mafai ona fa'amautu mai le fa'apogai o se polokalame pe o le a fa'amalo pe fa'amutaina i se taimi fa'ai'u. O se faʻaopoopoga o lenei aʻoaʻoga o le Fa'atonuga a Rice, lea e taʻu mai ai mo soʻo se meatotino e le taua o galuega faʻatatau, fuafua pe o se polokalame faʻapitoa e iloilo se galuega ma sea meatotino o se faʻafitauli algorithmically intractable. Mo se faʻataʻitaʻiga, e le mafai ona tusia se suʻesuʻega e mafai ona faʻamaonia mai soʻo se faʻailoga puna pe o le polokalame o loʻo suʻesuʻeina o se faʻatinoga o se algorithm e faʻatatau, fai mai, le sikuea o se numera.

O le mea lea, o le faʻatinoga o suʻesuʻega static e iai tapulaʻa e le mafai ona faʻafefe. O le a le mafai lava e se suʻesuʻega faʻamautu ona iloa i tulaga uma e pei o, mo se faʻataʻitaʻiga, o le tupu mai o se "null pointer exception" i gagana e faʻatagaina ai le taua o le null, poʻo tulaga uma e fuafua ai le tupu mai o se " e le o maua le uiga" i gagana ta'i malosi. Pau lava le mea e mafai e le suʻesuʻega faʻapitoa sili ona maualuga e mafai ona fai o le faʻamaonia lea o mataupu faʻapitoa, o le numera o ia mea, faatasi ai ma faʻafitauli faʻafitauli uma i lau faʻailoga puna, o le, e aunoa ma le faʻateleina, o se pa'ū i le vasa.

O su'esu'ega fa'amau e le'o fa'atatau i le su'eina o mea sese

Mai le mea o loʻo i luga, o le faaiuga o loʻo mulimuli mai: suʻesuʻega static e le o se auala e faʻaitiitia ai le numera o faʻaletonu i se polokalama. Ou te taumafai e fai atu: pe a faʻaoga i lau poloketi mo le taimi muamua, o le a maua ai "manaia" nofoaga i totonu o le code, ae, e foliga mai, o le a le maua ai ni faʻaletonu e aʻafia ai le lelei o lau polokalama.

O faʻataʻitaʻiga o faaletonu otometi maua e tagata suʻesuʻe e manaia, ae e le tatau ona galo ia i tatou o nei faʻataʻitaʻiga na maua i le suʻeina o se seti tele o codebases tetele. I le mataupu faavae lava lea e tasi, o tagata taʻavale e maua le avanoa e faʻataʻitaʻi ai ni upu faigofie faigofie i luga o se numera tele o faʻamatalaga e iu lava ina maua na tala o loʻo i ai se faʻamatalaga faigofie.

O lona uiga e le tatau ona fa'aogaina su'esu'ega fa'ata'atia? Ioe e leai! Ma mo le mafuaʻaga lava e tasi e taua ai le siakiina o upu fou taʻitasi ina ia mautinoa o loʻo aofia i le lisi taofi o upu "faigofie".

O su'esu'ega fa'ata'atia e sili atu nai lo le su'eina o mea sese

O le mea moni, o fa'afitauli e mafai ona fo'ia e ala i su'esu'ega e sili atu ona lautele. A uma mea uma, i se tulaga lautele, suʻesuʻega static o soʻo se faʻamaoniga o tulafono faʻavae e faia aʻo leʻi faʻalauiloaina. O nisi nei o mea e mafai ona e faia:

  • Si'itia le faiga coding i le uiga lautele o le upu. E aofia uma ai le siakiina o fa'asologa, su'e le fa'aogaina o puipui gaogao/fa'aopoopo, fa'atūina fa'alava i fua fa'atatau e pei ole numera o laina/lavelave cyclomatic o se metotia, ma isi - so'o se mea e ono fa'alavelave ai le faitau ma le fa'atumauina o le code. I Java, o lea meafaigaluega o le Checkstyle, i le Python - flake8. Polokalama o lenei vasega e masani ona taʻua "linters".
  • E le gata e mafai ona su'esu'eina le code executable. O faila punaoa e pei o le JSON, YAML, XML, .properties e mafai (ma e tatau!) ona siaki otometi mo le aoga. A uma mea uma, e sili atu le iloa o le JSON fausaga ua malepelepe ona o nisi o upusii e le faʻapipiʻiina i le amataga o le faʻamaonia otometi Toso Talosaga nai lo le taimi o le suʻega poʻo le taʻavale taimi? O lo'o maua mea faigaluega talafeagai: eg. YAMLlint, JSONLint.
  • O le tu'ufa'atasia (po'o le fa'avasegaina o gagana fa'apolokalame fa'amalosi) o se ituaiga fo'i su'esu'ega fa'apitoa. I se tulaga lautele, e mafai e le au tuʻufaʻatasia ona tuʻuina atu lapataiga e faʻaalia ai faʻafitauli i le tulaga lelei o le faʻailoga ma e le tatau ona le amanaiaina.
  • O nisi taimi o le tu'ufa'atasiga e sili atu nai lo na'o le tu'ufa'atasia o le fa'atonuga fa'atino. Mo se faʻataʻitaʻiga, afai e iai au faʻamaumauga i le faatulagaga Faʻatonu, ona i ai lea i le taimi e liliu ai i HTML / PDF le AsciiDoctor handler (Maven plugin) e mafai ona tuʻuina atu lapataiga, mo se faʻataʻitaʻiga, e uiga i soʻoga i totonu motusia. Ma o se mafuaaga lelei lea e le talia ai le Talosaga Toso ma suiga o faʻamaumauga.
  • O le siakiina o sipelaina ose ituaiga o su'esu'ega fa'amau. Fa'aoga aspell e mafai ona siaki le sipelaga e le gata i faʻamaumauga, ae faʻapea foʻi i tulafono faʻapipiʻi polokalame (faʻamatalaga ma faʻamatalaga) i gagana eseese polokalame, e aofia ai C / C ++, Java ma Python. O se sipelaga sese i le faʻaoga faʻaoga poʻo faʻamaumauga o se faʻaletonu foi!
  • Su'ega fa'atulagaina (e uiga i latou - va'ai. lenei и lenei lipoti), e ui ina faʻatinoina i se taimi faʻataʻitaʻiga o suʻega e pei ole pytest, o le mea moni foi o se ituaiga o suʻesuʻega faʻapitoa, talu ai latou te le faʻatinoina tulafono faʻavae i le taimi o le faʻataunuʻuina.

E pei ona mafai ona e vaʻai, o le suʻeina o bug i lenei lisi e sili ona taua, ma o isi mea uma e avanoa e ala i le faʻaogaina o mea faigaluega avanoa avanoa.

O fea o nei ituaiga o su'esu'ega tumau e tatau ona e fa'aogaina i lau poloketi? Ioe, o le tele o le sili atu! O le mea autu o le faʻatinoina saʻo, lea o le a talanoaina atili.

La'uina paipa e pei o se fa'amama e tele-laasaga ma su'esu'ega fa'ata'ita'i o lona la'asaga muamua

O le faʻataʻitaʻiga masani mo le tuʻufaʻatasia faifaipea o se paipa lea e tafe mai ai suiga, mai le suiga o le code source i le tuʻuina atu i le gaosiga. O le fa'asologa masani o laasaga i lenei paipa e pei o lenei:

  1. su'esu'ega tumau
  2. fa'atasiga
  3. su'ega iunite
  4. su'ega tu'ufa'atasi
  5. Su'ega UI
  6. siaki tusilima

Suiga ua teena i le Nth laasaga o le paipa e le siitia i le tulaga N+1.

Aisea tonu lava i lenei auala ae le o se isi itu? I le vaega o su'ega o le paipa, o le a iloa e le au su'ega le pyramid su'ega lauiloa.

Fa'atino su'esu'ega fa'ata'atia i le fa'agasologa, nai lo le fa'aaogaina e su'e ai fa'aletonu
Su'ega pyramid. Punavai: se tusiga Matini Fowler.

I le pito i lalo o lenei pyramid o loʻo i ai suʻega e faigofie ona tusitusi, vave ona faʻatino, ma e leai se uiga e toilalo. O le mea lea, e tatau ona sili atu i latou, e tatau ona latou ufiufi atili tulafono ma faʻataunuʻu muamua. I le pito i luga o le pyramid, o le faʻafeagai e moni, o le numera o le tuʻufaʻatasia ma suʻega UI e tatau ona faʻaititia i le mea e manaʻomia. O le tagata i lenei filifili o le punaoa sili ona taugata, telegese ma le faʻatuatuaina, o lea o loʻo i ai o ia i le faaiuga ma naʻo le faʻatinoina o le galuega pe afai e leʻi maua ni faaletonu i laasaga muamua. Ae ui i lea, o mataupu faavae lava e tasi e faʻaaogaina e fausia ai se paipa i vaega e le o fesoʻotaʻi saʻo ma suʻega!

Ou te manaʻo e tuʻuina atu se faʻataʻitaʻiga i le tulaga o le faʻaogaina o le faʻaogaina o le vai. O vai palapala (suia ma faaletonu) o lo'o tu'uina atu i totonu; i le gaosiga e tatau ona tatou maua vai mama, lea ua fa'aumatia uma ai mea e le mana'omia.

Fa'atino su'esu'ega fa'ata'atia i le fa'agasologa, nai lo le fa'aaogaina e su'e ai fa'aletonu
Fa'amama la'asaga tele. Punavai: Wikimedia Commons

E pei ona e silafia, ua mamanuina faamama faamama ina ia mafai e ta'i ta'itasi mulimuli ane ona fa'amama ese se vaega sili atu ona lelei o mea leaga. I le taimi lava e tasi, o cascades mama mama e maualuga atu le gaosiga ma tau maualalo. I la tatou fa'atusa, o lona uiga e sili atu le saoasaoa o faitoto'a fa'aoga lelei, e mana'omia ai se taumafaiga itiiti e amata ai, ma e sili atu fo'i ona le fa'amaoni i le fa'agaioiga - ma o le fa'asologa lea e fausia ai. Ole matafaioi ole su'esu'ega tumau, lea, e pei ona tatou malamalama i ai nei, e mafai ona veleeseina na'o faaletonu sili ona leaga, o le matafaioi a le "palapala" grid i le amataga o le faamama cascade.

Ole su'esu'ega fa'atete'e na'o ia e le fa'aleleia atili ai le lelei o le oloa fa'ai'u, e pei lava o le "fila palapala" e le mafai ai ona inu vai. Ae ui i lea, faʻatasi ma isi elemene o le paipa, e manino lona taua. E ui ina i totonu o se fa'amama fa'asologa e mafai ai e vaega fa'atino ona pu'eina mea uma o lo'o faia e vaega fa'aoga, e manino lava po'o a ni fa'ai'uga o le a maua mai i se taumafaiga e fai na'o vaega o le fa'amamāina, e aunoa ma ni vaega fa'aoga.

O le fa'amoemoega o le "mailei palapala" o le fa'amama'i lea o fa'alavelave fa'afuase'i mai le pu'eina o fa'aletonu tuga. Mo se fa'ata'ita'iga, i se fa'aitiitiga, e le tatau ona fa'alavelave le tagata o lo'o faia le su'esu'ega fa'ailoga e ala i tulafono sese fa'atulagaina ma le solia o tulaga fa'atonu (pei o puipui fa'aopoopo po'o lala e matua'i fa'amomoe). Bugs pei o NPEs e tatau ona maua e suʻega iunite, ae afai e tusa lava pe leʻi faia le suʻega e faʻailoa mai e le au suʻesuʻe ia i matou e tatau ona tupu se pusa, o le a matua faʻavaveina lona faʻaleleia.

Ou te talitonu ua manino nei le mafuaʻaga e le faʻaleleia ai le tulaga lelei o le oloa pe a faʻaaogaina i lea taimi ma lea taimi, ma e tatau ona faʻaoga i taimi uma e faamama ai suiga e iai ni faaletonu matuia. O le fesili pe o le faʻaaogaina o se suʻesuʻega faʻamautu e faʻaleleia ai le lelei o lau oloa e tutusa lelei ma le fesili, "Pe o le a faʻaleleia le vai inu mai se vaituloto palapala pe a pasi i totonu o se colander?"

Fa'atinoina i se galuega fa'aleaganu'u

O se fesili aoga taua: faʻafefea ona faʻatinoina suʻesuʻega faʻapitoa i le faʻaauauina o le tuʻufaʻatasia o se "faitotoa lelei"? I le tulaga o suʻega otometi, e manino mea uma: o loʻo i ai se seti o suʻega, o le toilalo o soʻo se tasi oi latou ua lava le mafuaaga e talitonu ai e leʻi pasia e le faʻapotopotoga le faitotoa lelei. O se taumafaiga e faʻapipiʻi se faitotoʻa i le auala lava e tasi e faʻavae i luga o faʻaiʻuga o se suʻesuʻega faʻamautu e le manuia: e tele naua lapataiga faʻamatalaga i totonu o le tulafono faʻasolopito, e te le manaʻo e matua le amanaiaina i latou, ae e le mafai foi ona taofi le lafoina o se oloa. ona o lo'o i ai fa'amatalaga fa'avasega.

A faʻaaogaina mo le taimi muamua, o le suʻesuʻega e maua ai le tele o lapataiga i soʻo se poloketi, o le tele o ia mea e le fesoʻotaʻi ma le faʻaogaina lelei o le oloa. E le mafai ona faʻasaʻo uma nei faʻamatalaga i le taimi e tasi, ma e tele e le manaʻomia. A uma mea uma, matou te iloa o la matou oloa atoa e galue, e oʻo lava i le faʻalauiloaina o suʻesuʻega faʻapitoa!

O le i'uga, o le to'atele e fa'atapula'a i le fa'aogaina i lea taimi ma lea taimi o su'esu'ega fa'apitoa, po'o le fa'aaogaina na'o le fa'amatalaga fa'amatalaga, pe a na'o le tu'uina atu o se lipoti a le au su'esu'e i le taimi o le fa'apotopotoga. E tutusa lea ma le leai o soʻo se suʻesuʻega, aua afai ua tele a tatou lapataiga, ona tupu lea o se isi (tusa lava pe o le a le ogaoga) pe a suia le code e le iloa.

O auala nei o le faʻalauiloaina o faitotoʻa lelei e iloa:

  • Fa'atulaga se tapula'a i le aofa'i o lapata'iga po'o le aofa'i o lapata'iga vaevae i le numera o laina fa'ailoga. E le lelei lenei mea, ona o sea faitotoa e faʻatagaina saoloto ai suiga ma faʻaletonu fou e pasia, pe afai e le sili atu le tapulaʻa.
  • Fa'amauina, i se taimi patino, o lapata'iga tuai uma i le fa'ailoga e pei ona le amana'ia, ma mumusu e fausia pe a tula'i mai ni lapataiga fou. O lenei faʻatinoga e tuʻuina atu e le PVS-studio ma nisi punaoa i luga ole laiga, mo se faʻataʻitaʻiga, Codacy. Ou te leʻi maua le avanoa e galue ai i le PVS-studio, ae mo loʻu poto masani ma Codacy, o la latou faʻafitauli autu o le fuafuaina o le mea "tuai" ma le mea o le "fou" mea sese o se algorithm faigata e le galue i taimi uma. sa'o, aemaise lava pe afai ua matua suia pe toe fa'aigoa faila. I loʻu poto masani, e mafai e Codacy ona le amanaiaina lapataiga fou i se talosaga toso, ae i le taimi lava e tasi e le pasia se talosaga toso ona o lapataiga e leʻi fesoʻotaʻi ma suiga i le code o se PR na tuʻuina atu.
  • I loʻu manatu, o le fofo sili ona aoga o le faʻamatalaina i totonu o le tusi Faʻaauau Faaooina "auala faʻamalo". O le manatu autu o le numera o lapataiga faʻataʻitaʻiga o se meatotino o faʻasalalauga taʻitasi, ma naʻo suiga e faʻatagaina e le faʻateleina ai le aofaʻi o lapataiga.

fa'ato'a

E pei o lenei:

  1. I le tulaga muamua, o se faʻamaumauga e faia i metadata e uiga i le tuʻuina atu o le numera o lapataiga i le code na maua e le au suʻesuʻe. O lea la, a e fausia i luga, e le na o le "fa'asa'oloto 7.0.2" e tusi lau pule o le fale teu, ae "fa'asa'oloto le 7.0.2 o lo'o i ai le 100500 siaki siaki." Afai e te faʻaaogaina se pule o fale teu oloa (e pei o Artifactory), o le teuina o ia metadata e uiga i lau faʻamalolo e faigofie.
  2. Ole taimi nei e toso talosaga ta'itasi, pe a fausia, fa'atusatusa le aofa'i o lapata'iga e maua ma le aofa'i o lapata'iga o lo'o maua ile fa'asalalauga o iai nei. Afai e oʻo atu le PR i se faʻaopoopoga i lenei numera, ona le pasia lea e le code le faitotoa lelei mo suʻesuʻega faʻamau. Afai e faʻaitiitia le numera o lapataiga pe le suia, ona pasi lea.
  3. I le isi fa'asalalauga, o le a toe fa'amauina le numera toe fa'atatauina o lapata'iga i le fa'asalalauga metadata.

O lea laititi ma faifai malie (pei o le taimi e galue ai se ratchet), o le numera o lapataiga o le a matele atu i le leai. O le mea moni, e mafai ona faaseseina le faiga e ala i le faʻaofiina o se lapataiga fou, ae faʻasaʻo le lapataʻiga a se isi. E masani lava, aua i se mamao mamao e maua ai iʻuga: o lapataiga e faʻasaʻo, e pei o se tulafono, e le o le taʻitoʻatasi, ae i totonu o se vaega o se ituaiga i le taimi e tasi, ma o lapataiga faigofie uma e mafai ona faʻaumatia e vave ona faʻaumatia.

O lenei kalafi o lo'o fa'aalia ai le aofa'i o lapata'iga Checkstyle mo le ono masina o fa'agaioiga o sea "ratchet" on se tasi o tatou OpenSource poloketi. O le numera o lapataiga ua faʻaitiitia i se faʻatonuga o le tele, ma na tupu faʻafuaseʻi, e tutusa ma le atinaʻeina o oloa!

Fa'atino su'esu'ega fa'ata'atia i le fa'agasologa, nai lo le fa'aaogaina e su'e ai fa'aletonu

Ou te faʻaaogaina se faʻasologa faʻaleleia o lenei metotia, faʻavasega faʻasalalauga e ala i le faʻatulagaina o poloketi ma meafaigaluega auʻiliʻili, e maua ai se faila YAML ma fausia metadata e pei o lenei:

celesta-sql:
  checkstyle: 434
  spotbugs: 45
celesta-core:
  checkstyle: 206
  spotbugs: 13
celesta-maven-plugin:
  checkstyle: 19
  spotbugs: 0
celesta-unit:
  checkstyle: 0
  spotbugs: 0

I soʻo se faiga faʻapitoa CI, e mafai ona faʻatinoina le ratchet mo soʻo se meafaigaluega auʻiliʻili faʻapitoa e aunoa ma le faʻalagolago i mea faʻapipiʻi ma mea faigaluega lona tolu. E faia e tagata su'esu'e ta'itasi lana lava lipoti i se tusitusiga faigofie po'o se XML e faigofie ona iloilo. Pau lava le mea o loʻo totoe o le tusia lea o manatu talafeagai i le CI script. E mafai ona e vaʻavaʻai pe faʻapefea ona faʻatinoina lenei mea i totonu oa matou galuega faʻalauiloa faʻavae e faʻavae i Jenkins ma Artifactory iinei poʻo iinei. O faʻataʻitaʻiga uma e faʻalagolago i le faletusi ratchetlib: auala countWarnings() faitau xml tags i faila na gaosia e Checkstyle ma Spotbugs i le auala masani, ma compareWarningMaps() fa'atinoina le ratchet lava e tasi, togi se mea sese pe a fa'ateleina le numera o lapataiga i so'o se vaega.

O se fa'atinoga mata'ina o le "ratchet" e mafai mo le su'esu'eina o le sipelaga o fa'amatalaga, tusitusiga ma fa'amaumauga e fa'aaoga ai le aspell. E pei ona e iloa, pe a siaki le sipelaga, e le o upu uma e le o iloa e le lomifefiloi masani e le saʻo; e mafai ona faʻaopoopo i le lomifefiloi faʻaoga. Afai e te faia se lolomifefiloi masani o se vaega o le code source o le poloketi, ona mafai lea ona faʻatulagaina le faitotoa o le sipelaga lelei i le auala lenei: taʻavale aspell ma se lomifefiloi masani ma masani. e le tatau leai ni mea sese o le sipelaga.

E uiga i le taua o le faʻaleleia o le suʻega suʻega

I le faaiuga, o le mea e tatau ona matauina e tusa lava po o le a le auala e te faʻatinoina ai auʻiliʻiliga i lau paipa tuʻuina atu, e tatau ona faʻamautu le faʻasologa o le suʻega. Afai e te faʻatagaina le tagata suʻesuʻe e faʻafou faʻafuaseʻi, ona faʻapipiʻiina lea o le isi talosaga toso, e mafai ona "osofaʻi" ni faaletonu fou e le fesoʻotaʻi ma suiga o tulafono, ae e fesoʻotaʻi ma le mea moni e mafai e le tagata suʻesuʻe fou ona maua nisi faʻaletonu - ma o le a motusia ai lau faagasologa o le taliaina o talosaga toso . O le fa'aleleia o se su'esu'e e tatau ona fai ma fa'atino. Ae ui i lea, o le faʻamautuina malosi o le lomiga o vaega taʻitasi o faʻapotopotoga e masani lava o se manaʻoga talafeagai ma se autu mo se talanoaga ese.

sailiiliga

  • Ole su'esu'ega fa'amautu o le a le maua ni fa'ailoga mo oe ma o le a le fa'aleleia atili le lelei o lau oloa ona o se fa'ai'uga e tasi. O se aafiaga lelei i luga o le tulaga lelei e mafai ona ausia e ala i lona faʻaaogaina faifaipea i le taimi o le tuʻuina atu.
  • O le su'eina o pusi e le o le galuega autu o au'ili'iliga uma; o le tele o galuega aoga o lo'o avanoa i meafaigaluega tatala.
  • Fa'atino faitoto'a lelei e fa'atatau i taunu'uga o su'esu'ega fa'ata'atia i le la'asaga muamua lava o le paipa tu'uina atu, e fa'aaoga ai le "ratchet" mo le fa'ailoga tu'ufa'atasi.

mau

  1. Faʻaauau Faaooina
  2. A. Kudryavtsev: Suʻesuʻega polokalame: faʻafefea ona e malamalama o oe o se tagata fai polokalame lelei lipoti i auala eseese o suʻesuʻega code (e le naʻo le faʻamaonia!)

puna: www.habr.com

Faaopoopo i ai se faamatalaga