mirror of
https://github.com/goldbergyoni/nodebestpractices.git
synced 2025-10-30 00:57:04 +08:00
[FEAT] fail fast: complete basque translation
This commit is contained in:
@ -220,7 +220,7 @@ Irakurri beste hizkuntza batzuetan: [**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/>
|
||||
|
||||
|
||||
71
sections/errorhandling/failfast.basque.md
Normal file
71
sections/errorhandling/failfast.basque.md
Normal 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.
|
||||
Reference in New Issue
Block a user