L’art de programar

Quan desenvolupem codi moltes vegades ens centrem en cobrir els requeriments que se’ns estan demanant, en el temps requerit. Ens basem en la potència dels ordinadors actuals, en la interconnexió pseudomàgica dels serveis o de terceres funcions que usem com caixes negres, sense saber com funcionen, apliquem patrons i fem proves, i si funciona, voilà, ja està fet i a per les següent coses.

Tenim mètriques, proves d’unitat, uat’s, diagrames i casos d’ús per preveure, veure, justificar i informar del que fem i com funciona, tenim tota una metodologia científica i tècnica al nostre abast.

Però desenvolupar codi no és només això: tots sabem reconèixer una documentació ben feta, aprenem i gaudim quan veiem un codi elegant, ben documentat, indentat i precís, i ens desesperem quan trobem instruccions incomprensibles, repetitives i sense documentació que donen voltes i més voltes, complicant innecessàriament el producte (de vegades això reflecteix un mal treball, de vegades es dissimula el no saber fer, la incomprensió d’allò que es demana o de l’eina que es fa servir amb un codi extremadament complicat, com en un mal discurs d’un polític).

Així, programar és també copsar el problema o la solució que se’ns requereix, i treballar no només per força bruta si no entenent tot l’entorn que rodejarà al nostre producte: interaccions, sessions, peticions concurrents o voluminosos treballs batch. Hi ha part d’art, d’aprenentatge en la programació, hi ha la part d’elegància que rodeja a un bon codi, la robustesa d’una api ben definida i la documentació, en línia i final, comprensible per tothom, quan s’hagi perdut l’entorn on va sorgir la necessitat d’aquell programa.

Oh, sí, és clar: al final un programa és un programa.

Però internament és una seqüència lògica d’instruccions per resoldre un problema, i aquesta solució pot ser més o menys elegant, pot no només donar solució a una finalitat, si no ensenyar en si a com fer les coses. Heus ací la diferència entre un nyap temporal que faci una funció i en la construcció d’una solució duradora i elegant: en com apliquem aquesta lògica.

Deixa un comentari

L'adreça electrònica no es publicarà.