[FEAT] fail fast: complete basque translation

This commit is contained in:
Ane Diaz de Tuesta
2021-01-17 19:53:42 +01:00
parent 7f4da80ba8
commit 02facc415d
2 changed files with 72 additions and 1 deletions

View File

@ -220,7 +220,7 @@ Irakurri beste hizkuntza batzuetan: [![CN](/assets/flags/CN.png)**CN**](/README.
**Bestela:** pentsatu zure funtzioa agintza numeriko baten zain dagoela, adibidez «deskontua», eskatzaileak bidaltzea ahaztu duena; geroago, haren kodeak baieztatzen du « deskontua! = 0 (baimendutako deskontua zero baino handiagoa da)», eta horrek ahalmena ematen dio erabiltzaileari deskontua izateko. Ene, nolako errore arriskutsua! Konturatzen zara?
🔗 [**Informazio gehiago: huts egin azkar**](/sections/errorhandling/failfast.md)
🔗 [**Informazio gehiago: huts egin azkar**](/sections/errorhandling/failfast.basque.md)
<br/><br/><br/>

View File

@ -0,0 +1,71 @@
# Huts egin azkar, balidatu argudioak liburutegi dedikatu baten laguntzarekin
### Azalpen Paragrafoa
Denok dakigu argudioak egiaztatzea eta azkar huts egitea garrantzitsua dela ezkutuko arazoak ekiditeko (ikusi anti-eredu kodearen adibidea behean). Horrela izan ezean, irakurri programazio explizituaren eta babes programazioaren inguruan. Errealitatean, hau ekiditeko ohitura daukagu, kode hau idazteak suposatzen duen gogaikarritasuna dela eta (adibidez pentsatu posta elektronikoa eta datak bezalako alorrak dituen JSON objektu hierarkiko bat balioztatzen), Joi eta Validator bezalako liburutegiek hau asko leuntzen dute.
### Wikipedia: Babes Programazioa
Babes programazioa software eta jatorri kodea hobetzeko ikuspuntua da, kalitate orokorraren terminoetan, software akats eta arazo kantitatea murriztuz. Jatorri kodea ulergarria eginez, jatorri kodea irakurgarria eta ulergarria izan behar da kode auditoria batean onartua izan dadin. Softwarea aurreikusteko moduko eran jokatzeko egin, ustekabeko sarrerak edo erabiltzaile ekintzak gertatu arren.
### Kodearen adibidea: JSON sarrera koplexua balioztatu Joi erabiliaz
```javascript
var kideEskema = Joi.object().keys({
pasahitza: Joi.string().regex(/^[a-zA-Z0-9]{3,30}$/),
jaioteguna: Joi.number().integer().min(1900).max(2013),
postaElektronikoa: Joi.string().email(),
});
function kideBerriaGehitu(kideBerria) {
// lehenengo baieztapena dator
Joi.assert(kideBerria, kideEskema); //jaurti balioztatzeak huts egiten badu
// bestelako logika hemen
}
```
### Anti eredua: balioztatze ezak akats kaskarrak dakartza
<details>
<summary><strong>Javascript</strong></summary>
```javascript
// deskontua positiboa bada, bidali erabiltzailea bere deskontu tiketak inprimatzera
function bidaliDeskontuTiketakInprimatzera(httpResponse, kidea, deskontua) {
if (deskontua != 0) {
httpResponse.redirect(`/deskontuInpresioBistaratzea/${kidea.id}`);
}
}
bidaliDeskontuTiketakInprimatzera(httpResponse, kiderenBat);
// deskontu parametroa pasatzea ahaztuta, orduan zergatik bidali da erabiltzailea deskontu pantailara?
```
</details>
<details>
<summary><strong>Typescript</strong></summary>
```typescript
// deskontua positiboa bada bidali erabiltzailea bere deskontu tiketak inprimatzera
function bidaliDeskontuTiketakInprimatzera(
httpResponse: Response,
kidea: Member,
deskontua: number
) {
if (deskontua != 0) {
httpResponse.redirect(`/deskontuInpresioBistaratzea/${kidea.id}`);
}
}
bidaliDeskontuTiketakInprimatzera(httpResponse, kiderenBat, -12);
// deskontu parametro negatiboa pasatu dugu, We passed a negative parameter discount, orduan zergatik bidali da erabiltzailea deskontu pantailara?
```
</details>
### Blogeko Aipua: "Errore hauek zuzenean jaurti beharko zenituzke"
Joyent blogetik
> Kasu degeneratu bat norbaitek funtzio asinkrono bat callback gabe deitzen duenean da. Errore hauek zuzenean jaurti beharko zenituzke programa apurtuta baitago eta hau arazteak gutxienez pila arrastoa eta errorearen lekuko fitxategia berreskuratzea eskatzen ditu. Hau egiteko, funtzioaren hasieran argudio guztien motak balioztatzea gomendatzen dugu.