Guia de Bones Pràctiques en Desenvolupament de Programari

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en catalán con un tamaño de 3,19 KB

Requisits d'un sistema

Els requisits han de complir les següents característiques:

  • Unitaris: fan referència a una sola cosa.
  • Complets: descriuen tot allò que es necessita i tenen relació amb el requisit.
  • Consistents: no es contradiuen amb cap altre requisit ni amb ells mateixos.
  • No ambigus: eviten riscos d'implementacions que no corresponen als requisits.
  • Verificables: permeten comprovar que han estat ben implementats i que les condicions se satisfan.
  • Traçables: permeten saber per què s'ha implementat cada element.
  • Importància ben definida.

Dificultats de testing

  • Variables globals.
  • Classes Singleton.
  • Crides de baix nivell.
  • Constructors amb lògica.
  • Serveis externs.

Metodologia LEAN

És una mentalitat que busca la millora gradual de tots els aspectes de la producció. Go and See. Think big, act small, fail fast; learn rapidly.

Principis:

  • Eliminar residus.
  • Amplificar l'aprenentatge.
  • Decidir tan tard com sigui possible.
  • Entrega el més ràpid possible.
  • Empoderar l'equip.
  • Incorporar la integritat.
  • Optimitzar el conjunt.

Injecció de dependències

La injecció de dependències ajuda a desacoblar el disseny del codi, evitant la creació de dependències directes i permetent passar objectes per paràmetre.

Mocking

Simulem el funcionament de classes. No cal crear contingut simulat ni implementar connexions per al testing. Es poden configurar perquè els getters retornin dades concretes (stub). Usem mock per a serveis (PostgreSQL) i stub per a objectes (Customer).

Programació funcional

Diferenciem entre llenguatges imperatius (Java, C++, Pascal, COBOL) i declaratius (SQL, Scala, ReactiveX).

És un paradigma de programació basat en la composició de funcions pures i l'evitació d'efectes secundaris.

Característiques principals

  • No té estat mutable: variables immutables.
  • No té efectes secundaris: no es modifica cap valor (excepte el return de la funció); evita modificar variables, llegir/modificar fitxers o imprimir per consola.
  • Composició de funcions: les funcions es poden combinar per crear-ne de noves.
  • Transparència referencial: una funció sempre retorna el mateix resultat amb els mateixos paràmetres d'entrada.

Avantatges

Codi més segur i fiable, millor modularitat, raonament local i ús de funcions com a valors.

Funcions pures i d'ordre superior

El resultat només depèn del paràmetre, sense efectes secundaris. Accepta funcions com a paràmetres o les retorna (map, filter o reduce). Evita errors comuns amb els estats, separa responsabilitats, millora la composibilitat del codi i implementa tècniques com event sourcing i arquitectures reactives.

Entradas relacionadas: