Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Concordo com o Rafa, aqui no meu time a gente faz uma validação bem restrita na API e usa um tipo custom pra facilitar na hora do código.
No meu time eu tentaria achar onde tipagem entra no fluxo real. Sem esse recorte, fica fácil vender ganho e esquecer manutenção.
No meu time, a gente costuma criar um tipo próprio pro array não vazio, assim fica mais claro na validação. Mas o pior é que dá trabalho se a API precisa aceitar qualquer tamanho, né? Talvez uma validação extra na entrada ajude a evitar surpresas.
No meu projeto, uso uma combinação de tipos e testes automatizados pra cuidar para que o array nunca fica vazio. Funciona bem, mas precisa de disciplina na validação e revisão de código.
Exato, o risco é colocar uma validação que pode não pegar casos extremos.