El teu projecte funciona, està provat i viu en un repositori endreçat: Implementació i proves va tancar la checklist d'«acabat». Queda una part que qui comença sol considerar accessòria i que a la pràctica decideix quant val la teva feina per als altres: saber-lo ensenyar. Un projecte que ningú no sap instal·lar, que no s'entén sense tu al costat o les decisions del qual no saps justificar és, a efectes pràctics, un projecte que no existeix. Aquesta lliçó converteix la teva carpeta de codi en alguna cosa presentable: un repositori net, un README que fa la feina per tu, una demostració de cinc minuts que no depèn de la sort, i les respostes preparades per a les preguntes que et faran —inclosa la més incòmoda, la de les limitacions—.

Contingut

  1. Deixar el repositori presentable
  2. El README com a carta de presentació
  3. La demostració de cinc minuts
  4. Explicar decisions tècniques
  5. Parlar de les limitacions sense restar-te valor
  6. Preguntes típiques i com respondre-les
  7. Rebre crítica i convertir-la en tasques
  8. Publicar el projecte
  9. Autoavaluació final i pla de millora
  10. Errors comuns i consells
  11. Exercicis
  12. Conclusió

  1. Deixar el repositori presentable

Qui miri el teu projecte veurà primer el repositori, no el programa. I la primera impressió es juga en trenta segons: si hi ha un README.md que explica què és això i hi ha fitxers amb noms raonables, continua llegint; si veu una carpeta amb prova2.py, dades_final_final.json i cap text, tanca la pestanya.

Recorre aquesta checklist sencera abans d'ensenyar-lo a ningú, reprenent Documentació i comentaris i Control de versions:

# Comprovació Per què importa
1 README.md complet, amb instal·lació, ús i exemple de sessió És l'única cosa que molts llegiran
2 requirements.txt (o requirements-dev.txt) amb les dependències Sense això ningú no reprodueix el teu entorn
3 .gitignore amb .venv/, __pycache__/, *.log i les teves dades reals Un repositori amb brossa resta credibilitat
4 Sense dades personals ni credencials en cap fitxer ni a l'historial És l'error més greu que pots cometre
5 Sense fitxers temporals, prova.py, copia_de_seguretat/ ni codi comentat Tot el que sobra distreu del que importa
6 Noms de fitxer i de branca coherents i en un sol idioma La coherència es llegeix com a professionalitat
7 git log --oneline llegible, amb missatges que comencen per verb Explica la història del projecte
8 git status net, tot committejat i pujat El que no és pujat no existeix
9 Etiqueta v1.0 creada i empesa Marca el punt lliurable
10 Clonat en una carpeta nova: instal·la i arrenca La comprovació definitiva

Sobre el punt 4, un advertiment seriós: esborrar un fitxer amb una contrasenya en un commit posterior no l'elimina de l'historial; continua allà i qualsevol el pot recuperar. Si t'ha passat, la resposta correcta no és maquillar-ho sinó invalidar aquella credencial i, si el repositori encara no és públic, refer-lo des de zero. En un projecte d'aquest curs el normal és que no hi hagi credencials, però sí dades personals reals: les teves, al fitxer de despeses o a l'agenda de contactes. Aquestes no es pugen.

I el tancament de la feina, reprenent el versionatge semàntic de 08-01:

git tag -a v1.0 -m "Primera versio completa: tots els requisits Must"
git push origin master --tags

  1. El README com a carta de presentació

El README és el document més rendible del teu projecte: s'escriu en una hora i és el que llegirà el 100 % dels qui el mirin. Aquesta és l'estructura, en ordre, amb el perquè de cada secció:

Secció Què hi va Extensió
Títol i frase Què és això, en una línia 1 línia
Descripció El problema que resol i per a qui 3-5 línies
Característiques Llista del que fa 5-8 punts
Requisits Versió de Python i dependències 2 línies
Instal·lació Ordres copiables, en ordre 4-6 línies
Ús Com s'executa i un exemple de sessió real 15-25 línies
Estructura del projecte Arbre de fitxers amb una línia per mòdul 8-10 línies
Proves Com executar-les 2 línies
Limitacions i millores futures El que no fa, expressament 4-6 punts
Llicència i autoria Qui ho va fer 1-2 línies

Un extracte comentat del README de LesMevesDespeses:

# LesMevesDespeses

Gestor de despeses personals per linia d'ordres.

Registra ingressos i despeses amb categoria i data, els desa en un fitxer JSON
i mostra el desglossament mensual per categoria. Va neixer d'un problema propi:
arribar a final de mes sense saber en que se n'havien anat els diners.

## Caracteristiques
- Alta de despeses i ingressos amb validacio de tots els camps
- Llistat de moviments per mes, ordenat per data
- Resum per categoria amb percentatges i saldo del mes
- Exportacio del mes a CSV per al full de calcul
- Desat automatic en JSON; tolera fitxer absent o corrupte

## Requisits
Python 3.10 o superior. Sense dependencies externes.

## Installacio
   (aqui va un bloc de codi bash amb les ordres, una per linia)

## Us
   (un altre bloc de codi amb: python -m lesmevesdespeses)

Els dos últims apartats porten blocs de codi amb les ordres literals, que són aquestes:

git clone https://github.com/usuari/lesmevesdespeses.git
cd lesmevesdespeses
python -m venv .venv && source .venv/bin/activate
python -m lesmevesdespeses

Fixa't en tres decisions. La descripció esmenta el problema abans que la solució: qui llegeix entén per a què serveix abans de saber com funciona. Les característiques són en infinitiu o substantiu, no en «podràs fer...». I la instal·lació són ordres copiables en ordre, sense prosa entremig: qui avalua el teu projecte les vol enganxar i que funcionin.

La part que més convenç, i la que gairebé ningú no inclou, és una demostració en text d'una sessió real. Val més que qualsevol descripció, perquè ensenya el programa funcionant sense instal·lar-lo:

$ python -m lesmevesdespeses

=== LesMevesDespeses ===
  1. Registrar despesa
  4. Resum per categoria
  0. Sortir
Opcio: 4
Mes (AAAA-MM): 2026-08

=========================================
  RESUM DE 2026-08                  (18)
=========================================
  menjar          -212,40 EUR   38,1 %
  transport       -132,00 EUR   23,7 %
  llar             -98,50 EUR   17,7 %
-----------------------------------------
  Despeses        -557,10 EUR
  Ingressos      +1450,00 EUR
  SALDO           +892,90 EUR
=========================================

Com es fa: executa el programa amb les teves dades d'exemple, copia la sortida literal del terminal i enganxa-la en un bloc ```text. Res de recrear-la a mà —es nota, i a més sol quedar desalineada—. Si prefereixes captures de pantalla, puja-les a una carpeta docs/ del repositori i enllaça-les amb ![Resum mensual](docs/resum.png); però el text té un avantatge: es cerca, es copia i no es trenca.

  1. La demostració de cinc minuts

Tard o d'hora hauràs d'ensenyar el projecte en directe: a classe, en una entrevista o a algú que et va preguntar què estaves fent. Cinc minuts semblen pocs i són molts si no portes guió, perquè l'impuls natural és començar pel codi i perdre's en detalls.

flowchart LR
    P["Problema<br/>30 s"] --> S["Solucio<br/>30 s"]
    S --> D["Demo del flux<br/>2 min"]
    D --> T["Detall tecnic<br/>1 min"]
    T --> L["Limitacions i<br/>seguents passos 1 min"]

Aquest és el guió, i el repartiment de temps importa tant com el contingut:

Bloc Temps Què dius Error típic
1. El problema 30 s «Apuntava les despeses en notes del mòbil i a final de mes no sabia en què se m'anaven els diners» Començar per «he fet servir dataclasses i JSON»
2. La solució 30 s Què és el programa en una frase i què fa Enumerar les deu funcions
3. Demo del flux principal 2 min Registrar una despesa i veure el resum del mes, amb dades ja carregades Improvisar i teclejar dades a mà
4. Un detall tècnic 1 min Alguna cosa de la qual estiguis orgullós, amb el seu perquè Ensenyar codi sense explicar la decisió
5. Limitacions i següents passos 1 min Què vas deixar fora expressament i què faries després Demanar disculpes pel que falta

Sobre el bloc 3, que és el que es pot torçar: prepara les dades per endavant. Tingues un dades_demo.json amb quinze o vint moviments repartits en dos mesos, copiat al lloc just abans de començar. No facis mai una demostració amb la base buida: registrar cinc despeses en directe consumeix els teus dos minuts i no ensenya res. I assaja la seqüència exacta de tecles almenys dues vegades; l'objectiu és que puguis parlar mentre les teclejes, no llegir la pantalla.

I si alguna cosa falla durant la demostració? Falla, tard o d'hora. El que es jutja no és la fallada, és la reacció:

  • No l'amaguis ni la minimitzis. «Aquí hi ha una fallada, no havia provat aquesta combinació» és una resposta professional. Fer veure que no ha passat res, no.
  • No et posis a depurar en directe. Consumeix el temps de tothom i rarament surt bé. Anota-ho i continua.
  • Tingues un pla B: una captura o una sessió gravada en text al README amb la qual continuar explicant.
  • Converteix la fallada en informació. «És un cas que no és al meu guió de proves; l'afegeixo» demostra que tens mètode, que és justament el que s'està avaluant.

  1. Explicar decisions tècniques

Tot el que hi ha al teu codi és el resultat d'una decisió, i la pregunta «per què ho vas fer així?» no és un atac: és la manera estàndard d'esbrinar si entens el que has fet. Una bona resposta té tres parts: què vas triar, quina alternativa vas descartar i amb quin criteri. Tres exemples reals sobre LesMevesDespeses:

«Per què una classe Moviment i no un diccionari?» Vaig començar amb diccionaris, que és el més ràpid. El problema va aparèixer amb la validació: cada lloc que creava un moviment havia de comprovar que la quantitat no fos zero i que la categoria existís, i me'n vaig oblidar en un. Amb una classe, la validació és a __post_init__ i no pot existir un moviment invàlid al programa. A més, __str__ em dóna la línia de taula ja formatada. Si només fos un contenidor de dades sense regles, hauria deixat el diccionari.

«Per què JSON i no CSV, si són registres plans?» Pels tipus. En CSV tot torna com a cadena i hauria de reconvertir imports i dates en llegir, amb el risc de fallar en silenci. JSON conserva els números i em deixa afegir camps opcionals sense trencar els fitxers antics, per a la qual cosa a més deso un número de versió. CSV sí que el faig servir, però només com a exportació d'un sentit, que és on té avantatge: obrir el mes al full de càlcul.

«Per què vas separar la interfície de la lògica, si és un programa petit?» Sobretot per poder provar-lo. Els càlculs del resum són a Quadern, que no imprimeix res, així que els puc verificar amb pytest en centèsimes de segon; si estiguessin barrejats amb els print hauria de simular la pantalla per provar-los. L'efecte secundari és que canviar el format d'una pantalla no pot trencar un càlcul, perquè viuen en fitxers diferents.

El patró es veu en els tres: context, alternativa, criteri, conseqüència. I una cosa igual d'important: si una decisió la vas prendre sense pensar, digues-ho. «Ho vaig fer així perquè era el que sabia fer, i ara que ho miro hauria estat millor...» és una resposta que suma, perquè demostra criteri adquirit. La resposta que resta és inventar-se una justificació que no sostens a la repregunta.

  1. Parlar de les limitacions sense restar-te valor

Tot projecte té mancances, i el teu, que és el primer, en té bastants. La diferència entre semblar un principiant que no en sap i un professional que comença és tota en com s'expliquen. El patró té tres temps:

«Ho sého vaig deixar fora expressamentaixí ho faria»

Aplicat:

Limitació Versió que resta Versió amb el patró
Sense interfície gràfica «No vaig tenir temps de fer la interfície» «És de línia d'ordres expressament: volia centrar l'esforç en el model de dades i les proves. La interfície està aïllada a interficie.py, així que muntar-hi una web a sobre seria substituir aquella capa»
Sense multiusuari «Només funciona per a una persona» «És monousuari per disseny: resolia el meu problema. Per a diversos caldria un identificador d'usuari al model i un fitxer per usuari, o directament una base de dades»
Tot en memòria «Si tingués moltes dades potser va lent» «Carrego tot en memòria en arrencar, cosa que amb uns milers de moviments respon a l'instant. A partir de desenes de milers caldria passar a SQLite; ho vaig mesurar abans de decidir-ho (06-04)»

Les tres versions de la dreta comparteixen una cosa: converteixen una mancança en una decisió i proposen el camí. Això només és possible si de debò vas prendre la decisió, i per això el calaix Won't de Definició del projecte era tan important: ara és el teu guió.

Dues coses que no has de fer mai: disculpar-te en bucle («perdó, sé que està molt mal fet, és que soc principiant»), que convida a mirar el projecte amb desconfiança i no aporta informació; i inventar limitacions que no tens per semblar humil. Digues el que és.

  1. Preguntes típiques i com respondre-les

Aquestes preguntes surten gairebé sempre. Prepara-les per escrit; respondre bé una pregunta previsible és de les coses que més diferencien una presentació d'una altra:

Pregunta Què volen saber Orientació de resposta
Què és el que més et va costar? Si saps reconèixer dificultats i com les resols Un problema concret i el mètode amb què el vas resoldre, no «tot va ser difícil»
Què faries diferent si comencessis avui? Criteri adquirit Una o dues decisions concretes amb el seu perquè
Com saps que funciona? Si proves o només confies Les proves automàtiques, què cobreixen, i el guió manual de la interfície
Què passa si l'usuari escriu qualsevol cosa? Robustesa Demostra-ho en viu: escriu una bestiesa i ensenya el missatge d'error
Quant trigaries a afegir X? Si coneixes el teu propi codi Anomena els fitxers que tocaries i dóna un rang honest
Per què aquesta estructura de fitxers? Si entens les capes o vas copiar Una frase per mòdul i la regla de les dependències cap avall
Has fet servir IA? Honestedat i criteri Digues la veritat i explica per a què: entendre errors, revisar, aprendre
Escalaria a moltes dades? Si penses en costos Big-O de les teves operacions principals i a partir de quin volum canviaries
Què has après? Autoconeixement Concret: «a partir la feina en increments», no «he après Python»

Sobre la de la IA: la resposta honesta sempre és millor. «La vaig fer servir per entendre un TypeError que no sabia llegir i perquè em revisés el magatzem.py; el disseny i el codi són meus» és una resposta professional i verificable —perquè si el codi és teu, el sabràs explicar—.

  1. Rebre crítica i convertir-la en tasques

Quan ensenyes el teu projecte reps comentaris, i la reacció instintiva és defensar-se. És un error: la crítica d'algú que s'ha molestat a mirar el teu codi és de les coses més valuoses que rebràs de franc. El procediment:

  1. Escolta sencera l'observació sense interrompre i sense justificar-te encara.
  2. Anota-la literal. No la interpretis en el moment; ja la interpretaràs en fred.
  3. Pregunta si no l'entens. «A què et refereixes amb que el mòdul fa massa coses?» és una pregunta legítima i demostra interès.
  4. Agraeix-ho. Encara que no hi estiguis d'acord. El cost d'escoltar és zero.
  5. En fred, classifica-la en una d'aquestes quatre caixes.
Tipus de comentari Exemple Què fas
Error real «Amb el mes 2026-13 peta» Tasca immediata: reproduir, arreglar, prova de regressió
Millora encertada «Els percentatges s'haurien d'arrodonir al mateix decimal» Tasca per a la v1.1
Preferència personal «Jo ho hauria fet amb llistes per comprensió» Escolta-la, valora-la, decideix tu
Fora d'abast «Li falta una app mòbil» Va al calaix Won't amb la seva justificació

La quarta caixa és on més es pateix si no la tens clara: hi ha comentaris que descriuen un altre projecte, no el teu. I la primera és la més valuosa de totes: qui troba una fallada al teu programa t'està fent un favor, encara que no ho sembli en aquell moment. Converteix cada comentari de les dues primeres caixes en una línia de la teva llista de tasques, amb la seva prioritat; d'això surt el pla de millora de l'apartat 9.

  1. Publicar el projecte

Un projecte al teu disc dur no serveix a ningú, començant per tu. Publicar-lo costa vint minuts:

# Amb el repositori ja creat a GitHub, buit:
git remote add origin https://github.com/usuari/lesmevesdespeses.git
git branch -M main
git push -u origin main --tags

Després, dedica una estona a la pàgina del repositori, que és el teu aparador:

  • Descripció curta (el camp About): una frase amb el que fa i en què està escrit. «Gestor de despeses personals per línia d'ordres en Python, amb persistència en JSON i proves amb pytest».
  • Temes (topics): python, cli, json, pytest, learning-project. Ajuden que aparegui a les cerques.
  • README ben renderitzat: mira-te'l a GitHub, no només a l'editor. Comprova que les taules es veuen i que els blocs de codi tenen el seu llenguatge.
  • Llicència: si vols que altres el facin servir, afegeix-hi una MIT; sense llicència, tècnicament ningú no el pot reutilitzar.

Sobre el portafolis: dos o tres projectes acabats, explicats i amb historial de commits valen més que vint repositoris a mitges. Qui avalua mira si el projecte està acabat, si el README explica el perquè, si hi ha proves i si els commits expliquen una història coherent. Un projecte petit i complet comunica «aquesta persona acaba les coses», que és exactament el senyal que es busca.

I una pràctica que ensenya més del que sembla: mirar projectes aliens. Busca a GitHub una aplicació de línia d'ordres en Python amb poques estrelles —els projectes enormes són il·legibles al principi— i examina, en aquest ordre: el README (entens què fa en un minut?), l'estructura de fitxers (reconeixes les capes?), un mòdul qualsevol (com anomenen les funcions?), els tests (què proven?) i l'historial (com escriuen els missatges?). Mitja hora fent això et dóna referències que cap tutorial no et dóna.

  1. Autoavaluació final i pla de millora

Ha arribat el moment de fer servir la rúbrica que vas escriure a 09-01, quan encara no sabies com sortiria el projecte. Omple-la amb honestedat —l'única persona a qui enganyaries és a tu— i multiplica cada puntuació pel seu pes:

Criteri Pes La teva puntuació (1-4) Evidència concreta que ho justifica
Funcionalitat 25 % Quins requisits Must funcionen? Algun a mitges?
Estructura del codi 20 % Quants mòduls i amb quina responsabilitat?
Robustesa 15 % Quines entrades estranyes vas provar i què va passar?
Documentació 15 % README, docstrings, anotacions, CHANGELOG?
Proves 15 % Quantes i de quines capes?
Ús de Git 10 % Quants commits, amb quins missatges, hi ha etiqueta?

La columna de la dreta és la que fa útil l'exercici: obliga a justificar la nota amb una evidència, no amb una impressió. Un 3 en proves significa poder dir «onze proves que cobreixen model, agregació i cicle desar/carregar», no «em sembla que estan bé».

Amb la rúbrica omplerta, el pla de millora surt sol: ordena per pes descendent els criteris amb nota més baixa. Exemple de LesMevesDespeses, que va sortir amb 2,85 de mitjana:

Prioritat Criteri Nota Acció concreta Cost
1 Robustesa (15 %) 2 Validar el format del mes i capturar PermissionError en desar 1 h
2 Proves (15 %) 2 Afegir proves de del_mes amb mes buit i de l'exportació a CSV 2 h
3 Documentació (15 %) 3 Afegir CHANGELOG.md i docstrings a interficie.py 1 h
4 Funcionalitat (25 %) 3 Implementar «editar moviment», que va quedar a Should 3 h

Set hores de feina que pugen la mitjana a un 3,4. I observa l'ordre: primer el que és barat i arregla una nota baixa, després el que és car. Afegir una funció nova és el més divertit i gairebé mai és el que més millora el projecte.

Errors Comuns i Consells

  • Ensenyar el codi abans que el problema. Ningú no pot valorar una solució si no sap quin problema resol. Trenta segons de context primer, sempre.
  • README de tres línies. «Projecte final del curs de Python» no diu res. Si només tens una hora per polir el projecte, inverteix-la sencera aquí: és el que més multiplica.
  • Demostració sense dades preparades. Registrar registres en directe consumeix el temps i avorreix. Tingues un fitxer de demostració llest i assajat.
  • Disculpar-se tota l'estona. Rebaixa el valor del que has fet i no aporta informació. Fes servir el patró «ho sé, va ser expressament, així ho faria».
  • Defensar-se de la crítica. Escoltar és gratis i decidir és cosa teva. Anota, agraeix, classifica en fred.
  • Pujar dades personals. Revisa el repositori abans de fer-lo públic: el fitxer de dades reals no es puja, i esborrar-lo després no el treu de l'historial.
  • Consell: explica el projecte en veu alta a algú que no programi. Si aconsegueixes que entengui què fa i per què, tens la presentació resolta.
  • Consell: escriu el teu guió de cinc minuts i cronometra'l. Gairebé sempre en són vuit la primera vegada, i el que sobra és el bloc tècnic.

Exercicis

Els últims passos reals del teu projecte. En acabar-los, està lliurat.

Exercici 1: Repositori i README

Recorre la checklist de l'apartat 1 punt per punt i arregla el que falli, inclosa la comprovació de clonar en una carpeta nova. Després escriu el teu README.md complet amb les deu seccions de l'apartat 2, incloent-hi una demostració en text d'una sessió real copiada literalment del teu terminal. Crea l'etiqueta v1.0 i puja-la.

Exercici 2: Guió de demostració i decisions tècniques

Escriu el teu guió de cinc minuts seguint la taula de l'apartat 3, amb el temps assignat a cada bloc i les dades de demostració preparades en un fitxer a part. Assaja'l cronometrat dues vegades. Després redacta per escrit tres decisions tècniques del teu projecte amb el patró context-alternativa-criteri-conseqüència, i tres limitacions amb el patró «ho sé, ho vaig deixar fora expressament, així ho faria».

Exercici 3: Autoavaluació i pla de millora

Omple la rúbrica de l'apartat 9 amb una evidència concreta per criteri i calcula la teva nota ponderada. Construeix després el pla de millora ordenant per pes els criteris amb nota més baixa, amb una acció concreta i una estimació per fila. Finalment, tria l'acció de prioritat 1 i fes-la; després torna a puntuar aquell criteri.

Solucions

Solució 1. L'apartat 2 conté l'estructura i l'extracte del README de LesMevesDespeses. Les tres fallades més habituals: un README que descriu el codi en lloc del problema, una secció d'instal·lació amb prosa entre les ordres, i cap demostració de sessió. Rúbrica d'autoavaluació: algú que no coneix el teu projecte sabria en un minut què fa i per a qui? Pot instal·lar-lo copiant i enganxant, sense preguntar-te res? Hi ha exemple de sessió real? La secció de limitacions existeix i està escrita com a decisions? git tag mostra v1.0?

Solució 2. L'apartat 3 té el guió amb temps i l'apartat 4 els tres exemples de decisió ben argumentada —classe davant de diccionari, JSON davant de CSV, separació de capes— amb l'estructura context, alternativa, criteri i conseqüència. L'apartat 5 fa el mateix amb les limitacions. Rúbrica: el teu guió dedica els primers 60 segons al problema i a la solució, sense esmentar tecnologia? La demostració és d'un flux real amb dades ja carregades? Cada decisió esmenta l'alternativa que vas descartar? Cada limitació acaba proposant com es resoldria? Cap en cinc minuts cronometrats?

Solució 3. L'apartat 9 té la rúbrica i el pla de millora de LesMevesDespeses, amb la seva nota de 2,85 i les quatre accions ordenades per pes. El que sol fallar en aquest exercici és la generositat: si et poses un 4 en proves amb tres proves soltes, la rúbrica deixa de servir per a res. Rúbrica de la rúbrica: cada nota té una evidència concreta i numèrica al costat? El teu pla està ordenat per pes del criteri, no pel que et ve de gust fer? Cada acció cap en tres hores? Ja has fet la primera?

Conclusió

Un projecte que no se sap explicar no compta, i explicar-lo comença pel repositori: README complet, requirements.txt, .gitignore, zero dades personals o credencials, sense fitxers temporals, historial llegible, tot committejat, etiqueta v1.0 i la comprovació definitiva de clonar en una carpeta nova i arrencar. El README és el document més rendible que escriuràs: deu seccions en ordre —títol i frase, descripció del problema abans que de la solució, característiques, requisits, instal·lació en ordres copiables, ús amb demostració en text d'una sessió real, estructura, proves, limitacions i autoria— i s'escriu en una hora.

La demostració de cinc minuts té guió i repartiment de temps: trenta segons de problema, trenta de solució, dos minuts de demostració del flux principal amb dades preparades per endavant i assajades, un minut de detall tècnic del qual estiguis orgullós i un minut de limitacions i següents passos; i si alguna cosa falla, es reconeix, s'anota i es continua, sense depurar en directe. Les decisions tècniques es defensen amb el patró context, alternativa descartada, criteri i conseqüència —per què una classe i no un diccionari, per què JSON i no CSV, per què separar la interfície de la lògica—, i les limitacions amb el patró «ho sé, ho vaig deixar fora expressament, així ho faria», que converteix cada mancança en una decisió i pel qual el calaix Won't de 09-01 esdevé el teu guió. Les preguntes típiques es preparen per escrit, la de la IA inclosa, on la resposta honesta sempre guanya. La crítica s'escolta sencera, s'anota literal, s'agraeix i en fred es classifica en error real, millora encertada, preferència personal o fora d'abast; les dues primeres es converteixen en tasques. I el projecte es publica: repositori a GitHub amb descripció, temes i llicència, amb la idea que dos o tres projectes acabats valen més que vint a mitges, i amb l'hàbit de llegir codi aliè per tenir referències. L'autoavaluació tanca el cercle amb la rúbrica de 09-01, exigint una evidència concreta per criteri, i el pla de millora ordena per pes el que més puja la nota.

Amb això, el projecte està fet, acabat, defensat i publicat —que és exactament el que es proposava en obrir el mòdul—. Queda una última conversa, i no és tècnica: què fer a partir d'ara. A Següents passos com a programador recorrerem el que s'ha après en aquests nou mòduls, el que aquest curs no va cobrir i convé saber que existeix, els camins professionals que s'obren amb el que ja saps, els hàbits que convé consolidar i un pla concret per als propers tres mesos.

© Copyright 2026. Tots els drets reservats