Brainrepo
La fenice è quell'animale che rinasce dalle proprie ceneri, quindi che fa del bruciare e poi rinascere un elemento fondante del suo essere.Credo che quello che sta cambiando è proprio questo, cioè il codice, la qualità del software in quanto prodotto che funziona, quindi dell'istanza software, ok? è una delle qualità, no? Poi c'è la qualità del software in quanto codice che era fortemente accoppiata alla qualità dell'outcam finale ieri.Oggi potrebbe non esserlo o almeno i parametri che utilizzavamo per valutare la qualità del codice non potrebbero avere un riferimento diretto, un impatto diretto verso la qualità del prodotto software che gira.Ma soprattutto quello che sta cambiando e che cambierà più avanti sarà il modo con cui noi vediamo il codice.Credo che quello che sta succedendo è che noi guardavamo il codice come un elemento di proprietà.Noi eravamo i possessori del codice, Oggi...con il fatto che scrivere codice diventa sempre più economico, questo codice può tranquillamente morire e rinascere come una finice, a patto che noi creiamo le condizioni, l'ambiente protetto, perché questo avvenga.Per cui il fatto di dover, e lo dirà poi l'episodio di Calvino, dover evidenziare quello che è bello del codice, quello che è funzionale, quello che ha senso preservare sti cassi del codice potenzialmente potremmo non voler preservare niente perché il codice scrivere il codice ormai è gratis, scrivere il codice è 20 euro al mese o 100 euro al mese su cloud no capire il codice diventa costoso allora il nostro focus potrebbe spostarsi dalle code review al giardinaggio dei moduli software.Quindi a capire come dei moduli isolati con il comportamento prevedibile, deterministico, si comportano orchestrati.Secondo me si andrà più in questa direzione, non da...io pianto il mio albero, il codice, e mi occupo di tenere il mio albero e raccogliere i frutti ok, ha il guardiano di una foresta che sti cazzi se un albero si secca, ne pianta un altro, l'importante è che la foresta, ok, continui a esistere, a produrre, per cui l'attaccamento stretto al codice si andrà via via di dissolvendo, anche perché non saremo più in grado di gestirlo come unità sestante, no? E dovremo però in qualche modo creare un sistema protetto per poterci staccare dal codice, cosa che oggi non possiamo fare perché non siamo ancora maturi da dire io rilascio codici in produzione senza che ho letto riga per riga cosa fa.Questo livello di maturità ancora non ce l'abbiamo.ma ce lo dovremo avere e cosa dovremo fare per raggiungere questo livello di maturità? Creare un ambiente protetto, intanto capire che quello che noi possediamo è l'intento e non il codice.Se prima il codice era il nostro asset, il nostro tesoro, oggi l'intento, quindi la funzionalità che vogliamo creare o l'intento che vogliamo raggiungere è l'elemento da preservare.a fianco all'intento che ne riassume il comportamento del nostro codice quindi dobbiamo fare in modo che quel comportamento non vari nel tempo in modo da garantire qualità e quindi test evals se non possiamo testare in modo deterministi in alcune parti quindi fare delle valutazioni anche con altri modelli linguistici che ci aiutano a testare le parti non testabili in modo deterministico.ma dobbiamo anche essere in grado, siccome il codice spesso rischia di diventare una cosa enorme, dovremmo essere in grado di dividere la nostra foresta in solle, in albili, e isolare le parti della foresta in modo che se il codice è vero che diventerà un elemento disposable, quindi prendo, uso e butto.il codice è fatto per essere buttato, no? Prende, una semplice funzionalità, posso in modo chiaro testare se si comporta in quel modo e buttarlo, ok? A questo punto io posso dire che rigenerare il codice non vuol dire rigenerare tutto il software, ma piccole porzioni che hanno un ciclo di vita veloce per cui io posso generare quel pezzo di codice.siccome i test ce li ho già, gli evals ce li ho già domani ho bisogno di aggiungere un'altra funzione posso tranquillamente permettermi di buttare il vecchio pezzo di codice crearne uno che potrebbe essere...avrei dettagli implementativi differenti ma che ancora rispetta gli evals, rispetta le specifiche e rispetta i test e sostituirlo in modo completamente trasparente perché Se prima quel pezzo di codice mi costava 100, oggi mi costa 0.1 e quindi è una cosa affattibilissima.Però a questo punto emerge un'altra cosa interessante.Dovremmo essere in grado di dividere il nostro codice in sottodomini, isolarli, definirne interfacce e confini in modo da poter cambiare le gomme così come fa in formula 1 non devono rifare la macchina per cambiare le gomme e la gomma potrebbe avere una mescola completamente diversa e si può quasi cambiare in corsa in termini di velocità di cambiamento come vedi questa questa questa previsione futura che è quella di steve brandy o steward brandy io non ho inventato nulla