Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    [C, ma non solo] Variabili globali

    Perche' normalmente le variabili globali sono spesso associate ad un esempio di brutta programmazione?

    Parto col dire che non mi piacciono, perche' spesso creano confusione sia al lettore (ad esempio quando leggo dei codici che usano variabili globali devo andarmi a cercare dove vengono extern-ate...) sia al programmatore (perche' spesso -soprattutto quando hanno nomi "comuni"- succede che vengono erroneamente usate in qualche funzione dove non servono, o in qualche funzione vengono create variabili con lo stesso nome, o a volte non si capisce bene quale funzione gli associ/cancelli il valore)...

    Pero' spesso sono troppo comode, soprattutto per creare funzioni che possono ritornare piu' valori oppure uno singolo a seconda di qualche macro, come nel caso del codice d'errore delle funzioni posix che viene scritto nella variabile globale errno se e' incluso <errno.h>.... Oppure sono comode quando c'e' bisogno di passare a qualche funzione centinaia di variabili che non possono venire racchiuse in un'unica struttura dato che non sono collegate tra loro...


    Voi siete contrari o appoggiate l'uso delle variabili globali? e in quali casi le usereste/usate o ne fareste/fate a meno?

    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    I motivi li hai detti tu, aggiungo che le variabili globali 'espongonno troppo l'implementazione' di certe strutture, menre sarebbe meglio creare un'interfaccia piu pulita che il programmatore puo seguire, senza fare affidamento sul fatto che un certo valore si trova in una variabile globale con un certo nome. Ciò facilita la manutenzione, l'ampliamento e la modifica del codice. Sicuramente le var. globali offrono una comoda scorciatoia, ma se sono troppo usate significa che il codice non è ben strutturato. Questo discorso non vale tanto per il c, ma soprattutto per i linguaggi ad oggetti, come c++ (non vale per il java in cui non si possono neppure definire delle var. globali!),


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.