Perché è buona pratica di programmazione limitare l'ambito? [duplicare]

16

Sono relativamente nuovo alla programmazione (luglio 2015) e mi sono sempre chiesto perché è buona pratica di programmazione nascondere le variabili il più possibile.

Mi sono imbattuto in questa domanda principalmente di recente quando ho esaminato eventi e delegati in C #. Ho cercato in giro perché dovrei usare gli eventi piuttosto che un semplice delegato, dal momento che fanno la stessa cosa che sembra. Ho letto che è meglio fare pratica di programmazione per nascondere i campi delegati e utilizzare un evento.

Ho deciso che era giunto il momento di imparare perché era una buona pratica di programmazione, ma non riuscivo a trovare nulla di diverso da "Perché è una buona pratica di programmazione".

Se potresti fornire alcuni esempi di base e magari qualche pseudo-codice che sarebbe utile.

    
posta overki11 14.01.2016 - 01:31
fonte

2 risposte

38

Perché più cose devi affrontare in qualsiasi attività più difficile diventa.

Ad esempio, prova ad accarezzarti la testa. Quindi prova ad accarezzarti la testa e contare all'indietro da 1000. Quindi prova a colpire la testa contando all'indietro da 1000 e saltando su una gamba. Quindi prova a colpire la testa contando all'indietro da 1000 e saltando su una gamba e cantando l'inno nazionale. Diventa molto più difficile, vero?

Ognuno di questi compiti era semplice e sarebbe stato facile da solo. Se mantieni il tuo codice piccolo e granulare e limiti la quantità di variabili in ambito hai a che fare con meno cose alla volta. Ciò significa che hai meno probabilità di cadere mentre ti trovi su una gamba perché sei distratto cantando l'inno nazionale e contando all'indietro da 1000.

    
risposta data 14.01.2016 - 01:54
fonte
5

Più semplice è la tua applicazione, meno probabile sarà la rottura.

Aggiungere complessità significa aggiungere punti in cui possono verificarsi errori. Di solito tali errori si trovano nel tuo codice, ma occasionalmente puoi colpire errori dal compilatore o dal sistema operativo.

Un esempio

Costruisci un oggetto calcolatrice. Può fare ogni sorta di calcolatrice (ad esempio, aggiungere numeri, moltiplicare i numeri, anche determinare le radici quadrate). Non avresti bisogno o vuoi aggiungere un metodo che disegna linee su un'immagine. Inoltre, non è necessario o desidera un metodo che richieda StackExchange per la persona con la maggior reputazione su tutti i suoi siti.

    
risposta data 14.01.2016 - 01:54
fonte

Leggi altre domande sui tag