Created
May 12, 2024 17:43
-
-
Save coproduto/0ecbacc3a0ad9a4e89a3fb1e4c3c395d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function ifSemElse(lol) { | |
if (!lol) return 0; | |
fazUmaCoisa(); | |
return fazMaisCoisas(lol); | |
} | |
// Você até poderia escrever essa função assim: | |
function comElse(lol) { | |
if (!lol) { | |
return 0; | |
} else { | |
fazUmaCoisa(); | |
return fazMaisCoisas(lol); | |
} | |
} | |
// mas o else nesse caso não está agregando | |
// absolutamente nenhuma informação e a | |
// remoção do else pode ser vista (com uma mente | |
// liberal) como aplicação de uma forma | |
// particular de Reverse CPS Transform, | |
// não alterando a semântica do programa. |
steinerkelvin
commented
May 12, 2024
•
CPS é horrível e programação funcional é coisa de matemáticos. Vida longa ao else !
function comElseVazio(lol) { if (!lol) { return 0; } else { // não precisamos fazer nada pois a entrada foi validada corretamente UwU } fazUmaCoisa(); return fazMaisCoisas(lol); }
Mas sem o else isso já não fica implicito?
Mas sem o else isso já não fica implicito?
Explícito é melhor que impUwUícito.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment