<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2016-02-09 11:19 GMT+00:00 Pietro Battiston <span dir="ltr"><<a href="mailto:ml@pietrobattiston.it" target="_blank">ml@pietrobattiston.it</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="overflow:hidden">Sarei curioso di sapere cosa ti abbia dato questa impressione al volo.<br>
Es. disorganizzazione del flow? Pochi commenti? Troppe funzioni a spasso? Tutto ciĆ² ed altro?</div></blockquote></div><br>Mah... un insieme di cose. Intanto non sono mai stato contento dell'API. Tenta di essere smart in molti modi e risulta essere semplicemente complicata da usare.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Ovviamente questa tendenza se la portano in giro un po' ovunque... per cui per dire hai signatures veramente inbordellate. Tipo a sboccio i readers hanno una cinquantina di parametri. E per risolvere il problema della code duplication fanno una higher order function (di 50 parametri) che ti ritorna una funzione (di 50 parametri) che fa un minimo di parameter mangling, poi ci costruisce un dizionario gigantesco che passa come argomento alla funzione effettiva "generica" che fa il lavoro. La quale funzione e' lunga tipo 260 righe.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Ora... hai due approcci per testare tutto questo. O testi solo le funzioni "pubbliche" (e.g., read_cvs), oppure testi la funzione effettiva _read. Che ha 50 parametri. Ora, nell'ipotesi semplificativa che ciascuno di questi parametri abbia due valori rilevanti, stiamo parlando di 2^50 combinazioni di input. Che e' nell'ordine di grandezza di mille volte l'eta' dell'universo. Ora, non e' detto che tutte le combinazioni percorrano path diversi (ovviamente impossibile, visto che la funzione e' solo 260 righe)... ma allora perche' non raggruppare i parametri in pochi set noti? Se invece testi solo la roba pubblica, rischi di lasciare combinazioni non testate che magari mordono. Mi sembra che qualcuno si sia scordato di provare a modellare sta roba ad oggetti... ecco.Non che sia un gran fan della programmazione ad oggetti... ma anche in Haskell se uno vede gruppi di parametri che vanno insieme si fa una qualche struttura che li rappresenta.<br><br clear="all"><div><br></div>-- <br><div> .<br>..: -enrico-</div>
</div></div>