.
Annunci online

alessioricco
producer, consumer, crèpes
16 ottobre 2007
[codice] [tips] Gestione centralizzata dei parametri nelle URL
Anche se il termine globale e locale è usato in modo improprio, rende bene il concetto di parametri che vengono passati nelle URL e che vengono utilizzati in gran parte delle pagine della nostra applicazione e parametri che vengono utilizzati solo in poche (o addirittura una) pagine.

Una buona regola è quella di gestire i parametri utilizzando una sola funzione il cui codice è condiviso da tutta l'applicazione e che abbia come scopo, per ogni possibile parametro di ingresso ammissibile dall'applicazione, quello di:

  • verificare se il parametro esiste oppure no e impostare il relativo valore di default, se necessario
  • verificare se il tipo che ci aspettiamo dal parametro è quello giusto
  • accedere al dbms per prendere quelle informazioni che nel 90% dei casi dobbiamo andare a prendere ogni volta che quel parametro è settato.
i vantaggi di questa metodologia sono i seguenti:
  • si evitano inutili ripetizioni di codice e copia-incolla suscettibili di bug
  • si ha un unico punto centralizzato che gestisce i parametri di ingresso, cosa che rende estremamente piu' semplice e immediata la manutenzione del codice.
Lo svantaggio piu' evidente è che viene eseguito del codice anche quando non è necessario.

Tag inseriti dall'utente. Cliccando su uno dei tag, ti verranno proposti tutti i post del blog contenenti il tag. asp.net spaghetti code

permalink | inviato da alessioricco il 16/10/2007 alle 17:46 | Leggi i commenti e commenta questo postcommenti (0) | Versione per la stampa
TECNOLOGIE
15 ottobre 2007
[codice] [tips] Stessi parametri, stesso nome
http://sonounsito.com/index.php?idresource=10
http://sonounsito.com/show.php?resourceid=10

Questo è un esempio di "spaghetti code" piuttosto frequente. Il team di sviluppo si sente indipendente nella scelta del naming dei parametri della pagina e sceglie il primo nome che gli suona familiare. cosi' in una pagina il parametro si chiama idresource e nella successiva si chiama resourceid.

C'e' una grande chanche che chi ha sviluppato questo codice non abbia una gestione "centralizzata" dei parametri di ingresso e che quindi sia esposto piu' facilmente a questo tipo di problemi:
  • sql injection
  • parametri non tipati o tipati male
  • bug legati al fatto che un parametro non ha un nome univoco nell'ambito dell'applicazione.

Tag inseriti dall'utente. Cliccando su uno dei tag, ti verranno proposti tutti i post del blog contenenti il tag. bug spaghetti code

permalink | inviato da alessioricco il 15/10/2007 alle 17:35 | Leggi i commenti e commenta questo postcommenti (0) | Versione per la stampa
sfoglia
settembre        novembre