La scrittura del codice è cronologicamente il modo migliore per la leggibilità? [chiuso]

1

Quindi sto scrivendo un sacco di JavaScript ultimamente. Nonostante quello che molti dicono che penso che JavaScript possa essere un linguaggio semplice e bello.

Quello che ho riflettuto ultimamente è come strutturare il codice in modo che sia più leggibile all'occhio umano.

A volte ci sono casi come questo:

mainFunction = function(){
  var init = function(){
    // do some initialization
    doSomeThing();
    doAnotherThing();
    window.addEventListener("scroll", someCallback);
  }
  var someCallback = function() {}
  var doSomeThing = function() {
    // code
  }

  var doAnotherThing = function() {
    // code
  }

  init();
}

Devi prima definire tutte le funzioni prima di poter inizializzare qualcosa e infine fare ciò che volevi fare.

Ora, mentre sto leggendo il codice, cerco sempre di leggerlo in ordine cronologico, è così che funziona il mio cervello. Ma con JavaScript, più lungo diventa il codice, più complesso trovo di vedere dove si trova il punto di partenza.

Quindi immagino che le mie domande siano:

  1. La maggior parte delle persone legge il codice in ordine cronologico? È cronologico il modo migliore per la leggibilità?
  2. Come raggiungere questo in JavaScript? (Quali sono alcune lingue che lo fanno meglio)
  3. Quali sono alcuni comuni codici JavaScript che scrivono filosofie là fuori?
posta JustGoscha 21.07.2015 - 12:32
fonte

1 risposta

3

Se mettere le funzioni in ordine cronologico migliora la leggibilità del codice, significa che stai usando funzioni sbagliate. Lo scopo principale della divisione del codice per funzionare è ridurre la quantità di contesto che è necessario tenere in mente in un dato momento.

(le funzioni hanno altri usi quando usi le funzioni di ricorsione o di ordine superiore, ma questo non è chiaramente il tuo esempio (forse eccetto someCallback ))

"The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague."
Dijkstra (1972) The Humble Programmer (EWD340).

Rompi il grande codice in funzioni più piccole in modo da poter esaminare ciascuna funzione da sola, e devi solo pensare a cosa fa una funzione in un dato momento. Anche con funzioni che chiamano altre funzioni (come mainFunction ) non si pensa a ciascuna di queste funzioni, ma si astraggono in comandi atomici. Ciò significa che non è necessario considerare l'intero flusso del programma nel suo complesso, quindi non importa se le funzioni sono ordinate in base a quel flusso.

    
risposta data 21.07.2015 - 16:32
fonte

Leggi altre domande sui tag