Oltre alle altre risposte, ci possono essere modi reali di sentire sul codice. Per sentirsi, intendo istintivamente interagire con il codice.
In primo luogo, la formattazione del codice stesso può essere più facile da leggere e comprendere utilizzando alcuni principi di base che ci aiutano a leggere il codice. I Principi della Gestalt possono aiutare qualsiasi cosa a essere più rapidamente e facilmente compresa dagli umani (applicata pesantemente visualizzazione dati). L'utilizzo di questi principi per cose semplici come l'allineamento di commenti, l'inserimento di spazi e righe vuote nel posto giusto aiuta tutti a leggere il codice più facilmente a livello istintivo.
Molte delle convenzioni di codifica e formattazione si basano sul rendere più facile la lettura prima a livello di subconscio.
Che sembra più leggibile?
int x; //This is an x
string foo; //Foo here
MyObject baz; //Instance of MyObject
int x; //This is an x
string foo; //Foo here
MyObject baz; //Instance of MyObject
Modifica
Al commento di Michael sull'avere una lunga dichiarazione. Le nostre menti perdonano, quindi le leggi non devono essere seguite esattamente.
int x; //This is an x
string foo; //Foo here
MyObject baz; //Instance of MyObject
MyTypeWithSomeAwfullyLongName bar;
long UUID; //The Law can be broken and still help
La Legge di Prossimità dovrebbe significare che la maggior parte delle persone preferisce la seconda versione. È lo stesso motivo per cui abbiamo colonne e tabelle per organizzare i dati.
Un altro esempio, basato sulla Legge della simmetria
function fooBarLongMethodName() {
return null;
}
function fooBarLongMethodName()
{
return null;
}
The law of symmetry states that the mind perceives objects as being
symmetrical and forming around a center point. It is perceptually
pleasing to divide objects into an even number of symmetrical parts.
Quindi è più piacevole per la mente vedere la simmetria nel secondo esempio, essere in grado di vedere sia le parentesi aperte che quelle vicine in linea.
Questi esempi dovrebbero rendere istintivamente più semplice la lettura del codice. Ma ci sono anche modelli appresi che richiede tempo per trarne vantaggio, basati sulla Legge dell'esperienza passata .
Quindi, in secondo luogo, comprendere l'intento di un determinato codice e sapere quando viene usato in modo errato (specialmente senza dover indagare o sapere molto sul codice precedente). questo articolo parla delle variabili di denominazione in modo che tu possa vedere dai nomi quando sono " re vengono utilizzati in modo errato. Una volta che questo schema di denominazione e uso è diventato abituale, è possibile riconoscere un problema con il codice in base al sito e senza dover esaminare gran parte dell'altro codice.
Infine, portano a un'idea più ampia degli odori di codice. L'idea che determinati schemi che emergono nel codice possono comunemente segnalare un problema da qualche parte nel codice. Questo a volte si presenta come un sentimento "Questo codice di test unitario è brutto, perché è addirittura necessario?" e la risposta a questa domanda è forse "Oh, stai usando Singletons per tutto.". Questo è il più difficile da insegnare o imparare e probabilmente viene fornito solo con esperienza.
Quindi spero che questo aiuti ad ampliare le altre risposte sul perché o su come le persone possono considerare il codice "bello", "buono" o "brutto"