Come denominare due funzioni che potrebbero essere denominate uguali?

3

Ho un'app nodo con una coda per l'elaborazione di lavori in background. Ho un file che esporta una funzione che, una volta eseguita, crea un lavoro nella mia coda. In quel file, ho anche il gestore per questo tipo di lavoro. Assomiglia a questo:

const actuallyDoStuff = async (...) => {
    // code that takes time
};

queue.process('do_stuff', async (job, done) => {
  try {
    await actuallyDoTheStuff(job.data);
    done();
  } catch (err) {
    done(err);
  }
});

const doStuff = async () => {
  const job = queue.create('do_stuff', { ... });
  job.save();
};

module.exports = doStuff;

Il fatto è che potrebbero essere chiamati uguali se l'altro non esistesse. Quello che mi chiedo è se voi ragazzi aveste qualche buona pratica di denominazione per casi come questo. Alcune delle opzioni che ho considerato:

  • Aggiunta di un prefisso alla funzione che esegue effettivamente il lavoro, ad esempio doDoStuff
  • Aggiunta di un suffisso all'altra funzione per specificare che sta creando un processo in background, ad esempio doStuffBG

Ma non mi piacciono molto queste opzioni. Quali sono le tue buone pratiche per casi come questo?

    
posta Thomas Groutars 02.02.2018 - 10:22
fonte

1 risposta

8

Adding a prefix to the function that actually does the work, like doDoStuff

Non farlo. Oppure finirai con doStuff () , doDoStuff () , reallyDoStuff () , reallyReallyDoStuff () e reallyReallyDoDoStuffThisOneDoesTheWorkHonestlyISwear ()

Dai un'occhiata alle tue funzioni. Certo, potrebbero essere entrambi denominati "DoStuff ()" se l'altro non esiste. Ma l'altro lo fa. Quindi qual è la differenza tra queste due funzioni?

effettivamenteDoStuff () potrebbe essere quello con il nome doStuff () qui. E doStuff () sarebbe in realtà createJobInQueueToDoStuff ().

I nomi di funzioni lunghi non sono tuoi nemici. I personaggi sono economici. Un compilatore / interprete non si cura se si utilizzano 5 o 50 caratteri per nominare le proprie funzioni. Quindi dai loro nomi validi e intuitivi.

    
risposta data 02.02.2018 - 11:19
fonte

Leggi altre domande sui tag