Commit 7ca2d12f authored by jg5dev's avatar jg5dev 💬
Browse files

better

parent 8d2131aa
Loading
Loading
Loading
Loading
+2 −1
Changes for src/SUMMARY.md: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@
    - [Accessibilitat Web](./m7/uf1u/accessibilitat.md)
    - [Informes](./m7/uf1u/informes.md)
  - [Preparació i distribució](./m7/uf2.md)
    - [Proves](./m7/uf2/proves.md)
    - [Proves amb JavaScript](./m7/uf2/proves.md)
    - [Documentació](./m7/uf2/documentacio.md)
    - [Distribució](./m7/uf2/distribucio.md)
- [IA i Ciència de dades](./apren.md)
@@ -87,6 +87,7 @@
  - [Principis](./fonaments/principis.md)
  - [POO](./fonaments/poo_java.md)
  - [Disseny](./fonaments/disseny.md)
  - [Proves](./fonaments/testing.md)
  - [Arquitectura](./fonaments/arquitectura_index.md)
    - [Conceptes](./fonaments/arquitectura.md)
    - [Fronteres de servei](./fonaments/fronteres_servei.md)
+1 −1
Changes for src/aitools/05_projecte_automatitzable.md: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ La verificació ha de ser simple i fiable. Això depèn de dues peces que es ref

### Nivells de test

Una suite té nivells (unitaris, d'integració i d'extrem a extrem), i **cada nivell atrapa una classe de fallada diferent**; la [piràmide de les proves](../m7/uf2/proves.md#la-piràmide-de-les-proves) en descriu la proporció i el cost. Els unitaris són l'únic nivell on la dificultat d'escriure la prova informa del disseny (vegeu [Llegir els senyals de les proves](../fonaments/arquitectura.md#llegir-els-senyals-de-les-proves)).
Una suite té nivells (unitaris, d'integració i d'extrem a extrem), i **cada nivell atrapa una classe de fallada diferent**; la [piràmide de les proves](../fonaments/testing.md#la-piràmide-de-les-proves) en descriu la proporció i el cost. Els unitaris són l'únic nivell on la dificultat d'escriure la prova informa del disseny (vegeu [Llegir els senyals de les proves](../fonaments/arquitectura.md#llegir-els-senyals-de-les-proves)).

**Els errors que un agent introdueix més sovint no viuen dins d'un mòdul, viuen entre mòduls**: una migració que no és idempotent, un middleware col·locat fora del pipeline esperat, un contracte actualitzat només a un costat de la frontera. Són els mateixos casos que el capítol següent llista com a riscos de framework (vegeu [Tipus de projecte](./06_tipus_de_projecte.md#amb-framework-o-sense)). Cap test unitari els detecta, perquè cada peça, aïllada, fa exactament el que ha de fer. Un test que travessa la frontera és l'única porta automàtica que els atrapa.

+1 −0
Changes for src/fonaments.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
- [Principis](./fonaments/principis.md): conceptes bàsics de programació, des de l'execució del codi fins a dades, memòria, funcions i recursivitat.
- [POO](./fonaments/poo_java.md): conceptes de programació orientada a objectes, relacions entre objectes i patrons de disseny.
- [Disseny](./fonaments/disseny.md): disseny a nivell de codi i classe (SOLID, dependències, testabilitat, seams) i com escriure codi llegible.
- [Proves](./fonaments/testing.md): conceptes de proves independents del llenguatge (piràmide, arrange-act-assert, test doubles, TDD, cobertura i mutacions).
- [Arquitectura](./fonaments/arquitectura_index.md): disseny a nivell de sistema, dels conceptes a l'arquitectura que ja et ve donada amb un framework.
  - [Conceptes](./fonaments/arquitectura.md): fronteres, estils i patrons (hexagonal, clean, DDD), disseny per contracte, diagrames C4 i arquitectura en equip.
  - [Fronteres de servei](./fonaments/fronteres_servei.md): com es comuniquen dos serveis, amb REST, versionat del contracte, missatgeria i streaming.
+3 −3
Changes for src/fonaments/disseny.md: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -189,7 +189,7 @@ Quatre decisions de disseny determinen si el codi serà fàcil de provar.
- **Injectar les dependències.** Si un objecte necessita un servei extern, rep-lo per constructor o per paràmetre, no el creïs internament. Això permet substituir-lo per un test double (dummy, stub, mock o fake) en els tests.
- **Mantenir els constructors simples.** Un constructor que fa feina (connectar-se a un servei, llegir configuració, iniciar fils) dificulta la creació d'objectes en tests. El constructor hauria d'assignar dependències; la feina hauria de començar després.

La connexió amb l'arquitectura és directa: les fronteres descrites al document d'[arquitectura](./arquitectura.md) són els punts on es substitueixen implementacions reals per test doubles. Un sistema amb fronteres ben definides és un sistema fàcil de testejar. Les tècniques de prova (piràmide de proves, test doubles, TDD) es tracten al capítol de [proves](../m7/uf2/proves.md).
La connexió amb l'arquitectura és directa: les fronteres descrites al document d'[arquitectura](./arquitectura.md) són els punts on es substitueixen implementacions reals per test doubles. Un sistema amb fronteres ben definides és un sistema fàcil de testejar. Les tècniques de prova (piràmide de proves, test doubles, TDD) es tracten al capítol de [proves](./testing.md).

## Seams

@@ -258,7 +258,7 @@ Escriure codi s'ha fet barat; entendre'l i verificar-lo, no. Una eina que genera

## Manifest

El manifest recull els principis d'aquest capítol i els de la pràctica que els envolta: entendre abans de construir, avançar en passos petits i verificar de forma contínua. Aquests últims no es tracten aquí, sinó a [proves](../m7/uf2/proves.md) i a [Fonaments de programació amb IA](../aitools/01_fonaments.md).
El manifest recull els principis d'aquest capítol i els de la pràctica que els envolta: entendre abans de construir, avançar en passos petits i verificar de forma contínua. Aquests últims no es tracten aquí, sinó a [proves](./testing.md) i a [Fonaments de programació amb IA](../aitools/01_fonaments.md).

![Manifest de l'enginyeria de programari en l'era de la IA](./images/manifest-dev-ia.png)

@@ -266,7 +266,7 @@ El manifest recull els principis d'aquest capítol i els de la pràctica que els

### El criteri de correcció

Les passes 3 a 7 del bucle són el cicle *red-green-refactor* del [desenvolupament guiat per proves](../m7/uf2/proves.md#test-driven-development). El TDD estricte és minoritari a la indústria, però el bucle continua sent vàlid, perquè el que el sosté no és l'ordre de les passes sinó una regla:
Les passes 3 a 7 del bucle són el cicle *red-green-refactor* del [desenvolupament guiat per proves](./testing.md#test-driven-development). El TDD estricte és minoritari a la indústria, però el bucle continua sent vàlid, perquè el que el sosté no és l'ordre de les passes sinó una regla:

> El criteri de correcció no pot sortir del codi que jutja.

+348 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading