Ótimas dicas, porém no último trecho do código, pode ser que a legibilidade se afete por conta da uso de dois operadores ternários, algo mais legível, creio eu que seria assim:
const validName = function(name) {
let name_len = name.length;
let status = ["nome vazio","nome longo","nome valido"]
if (name_len === 0) {
return status[0];
}
if (name_len >= 30) {
return status[1];
}
return status[2];
}
O código fica mais longo, porém fica mais fácil de entender e até refatorar.