Attualmente sto scrivendo un robot Discord e ho raggiunto il punto di aver bisogno di un refactoring. Con questo essere la mia prima pugnalata a JavaScript / NodeJS e fare un bot in generale, ci sono molti errori che ho fatto lungo il percorso che ora devono essere corretti. Con questo in mente, ho cercato di capire tutte le cose che dovrei correggere durante questo processo. Il mio attuale dilemma segue e mi ha infastidito per qualche giorno.
Sto usando una libreria NodeJS, Eris, abbastanza estesamente. Dato che rappresenta la struttura principale del mio bot, ho legato un numero di oggetti (singleton) e funzioni ad esso (ad esempio database e riferimento del logger, comando personalizzato per l'invio di messaggi, ecc.).
La prima domanda qui è se questa è una progettazione ragionevole, che penso sia giustificata rimuovendo gli elementi dall'ambito globale (si prega di correggere questa ipotesi se questa è una cattiva pratica in JS). La seconda domanda diventa, dovrei semplicemente estendere la classe offerta dalla libreria per includere "intrinsecamente" queste funzionalità? Oppure è meglio un'altra soluzione (vale a dire allegare oggetti una volta che la classe è stata istanziata, basta usare i globali, creare una classe separata che viene passata in rassegna e gestire queste funzionalità, ecc.)?