meno funzioni e codice complesso o più funzioni e codice leggibile?

0

Attualmente sto facendo un editor basato su HTML, so che ci sono molti editor là fuori, specialmente basati su HTML, ma voglio farlo io stesso una volta. Ciò di cui sono preoccupato è, ad esempio, quando un utente preme un tasto, le seguenti operazioni avverranno.

  • controlla se qualche testo nell'editor è già selezionato, se selezionato cancella quel testo per primo. e spingere questa azione nello stack di annullamento.
  • inserisci questo carattere che include anche la manipolazione dell'array e quindi il rendering della linea.

Ora queste due attività da sole possono includere così tante chiamate di funzione, come solo la cancellazione controllerà quale testo è selezionato, quindi cancellerà quel testo che manipolerà gli array e ridisegnerà le linee e così via.

Se suddivido questo codice in una forma leggibile, ci sono molte chiamate di funzione su una semplice pressione di un tasto e sai che l'utente non deve semplicemente premere il tasto, se non rompo il codice in una forma leggibile questo sarà rendere il complesso e molto codice verrà ripetuto. Qual è la buona pratica? rendere il codice più complesso e avere meno chiamate di funzione o rendere il codice leggibile e avere più funzioni?

    
posta Mamoon Ahmed 10.06.2018 - 23:02
fonte

3 risposte

5

Ogni volta che dovresti provare a rendere il codice il più leggibile possibile. I moderni compilatori possono ottimizzare il codice per renderlo più o meno il più veloce possibile in modo da non dover pensarci. O se è necessario, è possibile ottimizzarlo in seguito, una volta che l'algoritmo è scritto e comprensibile. Ricorda sempre, il codice viene scritto una volta, ma letto molte volte ... Ci sono molti libri su questo argomento, ma il mio preferito è il codice pulito di Robert C. Martin. Ha anche un blog meraviglioso sul link Spero che questo aiuti!

    
risposta data 10.06.2018 - 23:11
fonte
1

Codice leggibile e numero corretto di funzioni. Più o meno funzioni non influenzano la leggibilità, a differenza del numero giusto.

Nel tuo editor, evita l'involucro speciale. Non scrivere codice per la pressione di un tasto. Scrivi il codice per sostituire un intervallo arbitrario di testo con una nuova gamma arbitraria di testo. È difficile. Il codice per questo sarà difficile. Ma è solo una volta.

    
risposta data 11.06.2018 - 09:53
fonte
0

Ti consiglierei di prendere in considerazione il principio della separazione dei dubbi, che renderà il tuo codice leggibile e senza effetti collaterali il più possibile.

deletion alone will check which text is selected then it delete that text which will manipulate the arrays and re-render the lines and so on

tutte queste operazioni dovrebbero idealmente essere atomiche. Se hai familiarità con la programmazione reattiva, il tuo compito potrebbe essere risolto in questo modo:

keyUpStream$
.map(findSelection)
.map(removeText)

editorChange$
.do(takeHistorySnapshot)
.do(render)

queste funzioni dovrebbero essere atomiche e puoi usarle anche per costruire altri gestori. E come vedi, è pulito e leggibile.

E ti suggerisco di dare un'occhiata a come questo problema viene risolto da altri editor, come ad esempio codemirror per esempio link sono interessanti da portare via.

    
risposta data 11.06.2018 - 11:15
fonte

Leggi altre domande sui tag