Executando verificação de segurança...
2

Acho válido o uso da nomeação usada no exemplo 2 quando a função ou variável já está dentro de um contexto que expecifica à qual entidade/recurso/substantivo se refere. Por exemplo, em uma classe UserRepository, ter métodos nomeados como findAllUsers ou findUserById é considerado uma má prática também, trazendo uma certa redundância no código. Então, a forma de nomear trazida no exemplo 2 se encaixa muito bem nesse contexto.
O ideal é você sempre especificar a qual contexto x variável ou função está relacionada

Carregando publicação patrocinada...
2

Concordo contigo, quando falamos de métodos de uma classe. Até porque isso ficaria bem legível, pois para chamar o método, obrigatoriamente a classe seria instanciada. Um exemplo é um controller chamando um service e pra isso você poderia fazer tipo:

const user = new userService();

E ai a partir disso você chama por exemplo o método fetchById:

const userData = await user.fetchByid(id);

E a outra forma seria pelos exports/imports numa abordagem mais funcional, ai faria mais sentido nomes mais descritivos.