Esiste un nome comunemente accettato per funzioni chiamate solo in un'altra funzione?

2

Esiste un nome comunemente utilizzato per funzioni chiamate solo in un'altra funzione?

(Non sto chiedendo se sia una buona pratica, credo che in alcuni casi possa migliorare la leggibilità.)

In questo momento li sto commentando come "funzioni di stenografia locale" , ma mi piacerebbe un nome più standardizzato, se disponibile.

Esempio:

function foo(){
  bar(x)
  bar(y)
  bar(z)
}

function bar(){
  ... // bar definition
}

bar() utilizzato solo, da una a N volte, in un'altra funzione singola foo() .

    
posta JoseHdez_2 25.01.2017 - 11:46
fonte

2 risposte

3

Lo chiamerei uno dei seguenti:

  • Funzione di supporto
    • se si trattava di una sorta di piccolo dettaglio, come la formattazione corretta di una stringa
  • La "funzionalità collettiva"
    • se era il dettaglio più grande, come un algoritmo di ricerca
  • Funzione interna
    • Se la definizione era all'interno dell'altro
  • Un'altra funzione
    • Perché è quello che è

Conosco alcune persone che potrebbero dire che stai "delegando", ma che possono causare ambiguità a causa della parola già utilizzata , come nel caso dei delegati C #. Mi attiverei personalmente con la funzione di supporto.

Detto questo, questo è essenzialmente solo un metodo ordinario, quindi hai davvero bisogno di fare la distinzione? Non c'è assolutamente nulla di sbagliato nell'estrarre un metodo per un singolo uso, infatti è una buona idea come hai detto tu! Tieni a mente che non puoi davvero garantire che una funzione venga sempre chiamata in un unico posto. Un giorno potrebbe non essere vero, il codice cambia.

    
risposta data 25.01.2017 - 12:50
fonte
6

Stai facendo la domanda sbagliata.

Proprio come tocca la palla una sola volta quando si passa è l'alta arte del calcio, memorizzare ogni bit di informazioni esattamente una volta è il principio base di una buona rappresentazione dei dati ... e svolgere ogni compito solo in un posto è il massimo arte del software gestibile. Ciò significa che scrivere un metodo chiamato solo in un altro posto dovrebbe essere il caso normale .

Per essere sicuri, c'è un posto per i metodi che vengono chiamati dappertutto. Ad esempio, un metodo di taglio delle stringhe ha molti usi e ha senso definirlo una volta e chiamarlo spesso. Si chiamano metodi di utilità .

Ma questo è un tipo speciale di metodo. La maggior parte dei metodi dovrebbe essere dedicata a metodi one-purpose e non dovrebbero avere un nome speciale, perché sono il tipo di normal .

    
risposta data 25.01.2017 - 12:14
fonte

Leggi altre domande sui tag