Oi Anderson,
Só para você entender qual foi a minha linha de pensamento, eu separei em variáveis no exemplo por dois motivos.:
O primeiro foi didático mesmo, afinal é mais fácil de entender por quem está começando em Javascript quando quebramos em pequenos pedaços de código .
O segundo, já foi pela legibilidade do código. Quando em bato o olho nessa linha:
$(".contador-palavras").text($(".texto").text().split(" ").length);
Eu preciso dar uma leve pensada para interpretar o que ela está fazendo, mesmo que eu conheça bem as funções do jQuery, ainda existe um tempo de raciocínio quando eu olho ela em um bloco de código.
Agora quando eu leio isto:
var frase = $(".frase").text();
var numPalavras = frase.split(" ").length;
var tamanhoFrase = $("#tamanho-frase");
tamanhoFrase.text(numPalavras);
Devido aos nomes claros das variáveis e a separação por linhas, eu consigo claramente ver o que cada pedacinho faz e fica fácil entender o conjunto como um todo no final.
Neste caso específico eu talvez até tenha separado demais, fazendo algo assim:
var frase = $(".frase").text();
var numPalavras = frase.split(" ").length;
$("#tamanho-frase").text(numPalavras);
Ainda fica bem claro.
Mas tudo depende também do local aonde você trabalha, como o Natan disse acima. Se lá o costume é fazer o máximo de coisas em uma linha, tudo bem.
Mas eu sempre tento achar um balanço bom entre a simplicidade de fazer tudo em uma linha, e a melhor legibilidade do código.
Um abraço!