Domanda

Le procedure guidate possono avviare funzioni. Possono anche offuscare il tuo codice e sono anti-YAGNI.

A conti fatti, pensi che i Wizards siano più utili o più dannosi?

È stato utile?

Soluzione

Sono più utili dei dannosi se e solo se capisci il codice che generano. Solo dopo aver appreso il problema, la procedura guidata sta cercando di risolverli, sono davvero utili. Altrimenti colpirai i muri più avanti nel progetto, perché il codice generato avrà bisogno di modifiche ad un certo punto.

" The Law of Leaky Abstractions " lo inchioda davvero sulla testa.

Altri suggerimenti

Sono lì per un motivo: per provare a semplificarti la vita. Possono essere utili e risparmiare 5 o 10 minuti di digitazione. Ovviamente è meglio leggere e assicurarsi di aver capito cosa hanno scritto per te.

Se li usi senza capire, potrebbero essere considerati dannosi nel fatto che ti stanno lasciando andare senza imparare qualcosa che probabilmente dovresti sapere, ma a conti fatti penso che siano una buona cosa.

I maghi sono buoni se e solo se riesci a cavartela con mai modificando il codice che generano. In quella situazione, sono essenzialmente un linguaggio di programmazione di altissimo livello. Quando cambi idea su qualcosa che è stato generato dalla procedura guidata, puoi eseguire nuovamente la procedura guidata.

I maghi sono orribilmente malvagi se devi mai modificare il codice che generano. Se lo fai, e in seguito cambi idea su una delle scelte che hai fatto nella procedura guidata, sei costretto a scegliere tra due opzioni pessime. È possibile rieseguire la procedura guidata e riapplicare le modifiche manuali oppure provare a modificare le copie multiple del codice del boilerplate che la procedura guidata ha creato la prima volta. Nel primo caso, è probabile che si dimentichi almeno una delle modifiche e nel secondo caso, è probabile che si perda almeno uno dei punti del codice che è stato influenzato dalla scelta durante l'esecuzione della procedura guidata.

I maghi sono "per lo più innocui" quando generano un'entità incapsulata - una funzione, una classe o un insieme di classi - che non è necessario modificare e con cui si interagisce attraverso un'interfaccia ben definita e ben progettata.

All'altra estremità dello spettro c'è una procedura guidata che genera codice scheletro che deve essere esteso e modificato. Ciò è particolarmente problematico se non è possibile modificare alcune delle opzioni della procedura guidata in seguito senza perdere le modifiche.

Questi sono ancora " ok " per il professionista che potrebbe scrivere lo stesso codice da solo e utilizzare la procedura guidata per risparmiare tempo. Tuttavia, quando sono usati per rendere qualcosa di complicato facile per i principianti, sono un lavoro di verniciatura su un'auto arrugginita: aiutano a vendere qualcosa che altrimenti non compreresti.

In pratica, possono ancora essere utili per facilitare l'adozione di una piattaforma. Ma questo è un aspetto commerciale e se gli aspetti commerciali possono giustificare errori di codice è una questione dell'ambiente di sviluppo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top