• Usare ChatGPT per scrivere codice può indurre debito tecnico? E se si, come lo cataloghiamo?

      Alex Pagnoni and vincenzo chianese
      10 Comments
      • Mi viene da dire come cataloghi quello scritto normalmente.

        • io di solito vedo 3 forme di debito tecnico:
          1) Debito Tecnico volontario (non ho tempo, farò dopo …)
          2) Debito Tecnico involontario (se avessi saputo …)
          3) Debito Tecnico indotto (wow, framework meraviglioso / open source che fa quello che voglio, ma poi …)

          • E l’utilizzo di ChatGPT non ti permette di capire quando stai facendo debito e dove ricade in questa categorizzazione? Mi fai un esempio?

            • Io sarei tentato di mettere una quarta categoria specifica: debito da AI!
              Potrebbe essere debito volontario (non ho tempo e prendo una scorciatoia) ma ha anche le caratteristiche del debito indotto (prendo qualcosa da fuori e mi accollo gli eventuali problemi)

              Esempi: di recente mi ha fatto uno spezzone di codice che era evidente implicasse “cgywin”, quindi un sistema decisamente superato per avere elementi di Linux in Windows. Se lo avessi adottato mi sarei tirato addosso (inconsapevolmente) tutto il debito tecnico dato dalla manutenzione di quel sistema.

              • Secondo me inserire una quarta categoria ti porta a dei falsi positivi: molte volte può essere e il codice sia corretto e non produca debito.
                Al massimo può essere importante commentare in qualche modo le funzioni / snippet generati da AI, ma anche qui lascia il tempo che trova.

                L’importante è avere idea di quello che si fa, controllando e soprattutto testando ciò che viene scritto, soprattutto se si tratta di business logic core.

      • Direi tanto quanto ne può indurre uno snippet di codice preso da Stack Overflow, forse anche peggio in base a quanto lo sviluppatore che lo implementa si fida di ChatGPT (o strumenti simili) che a differenza di Stack Overflow non fornisce soluzioni peer-reviewed da altri sviluppatori umani.

        • Sta girando la notizia di un avvocato di New York che si è fidato di ChatGPT e ha citato sentenze che in realtà non esistevano … StackOverflow e le ricerche su Google ti danno le fonti ed è più facile giudicare la correttezza. Con StackOverflow vedi anche più soluzioni e la “difesa” della proposta da parte dell’autore.

          Per me è disastroso quando mi trovo di fronte ad un pezzo di codice incomprensibile e non si trova l’autore. ChatGPT ti porta diretto in questa situazione.

        • Ahimè scrivere software in ogni modalità può indurre debito tecnico.
          Uso copilot da un pò e ho personalmente scritto parti di codice con GPT.
          Li trovo strumenti utili che possono eliminare parti tediose (sopratutto con librerie o framework con ampia documentazione ed buon codice).

          Il rischio che vedo è lo stesso di chi non programma ma fa cut&paste di snippet che non approfondisce.

          Vedo però anche aree dove in una buona architettura di riferimento non mi stupirei si potesse generare il 100% di alcune componenti (magari dopo un apposito fine tuning)

          • Infatti la mia idea è che ChatGPT potrebbe aiutare molto di più con strumenti No-Code/Low-Code studiati appositamente per sfruttarne le abilità.