Ouvi alguém dizer que sua linguagem tem uma convenção em que os nomes de funções que mudam de estado devem terminar com um ponto de exclamação. Estou tentando escrever um código mais funcional e gosto da ideia de, de alguma forma, marcar funções de acordo com seu status de efeito colateral, ou seja, nenhum, efeitos colaterais internos, efeitos colaterais externos (eu desconheço a terminologia correta do FP, mas você entendeu a esperança).
Obviamente, é fácil para mim criar meu próprio esquema de nomeação, mas eu queria saber se esses esquemas / convenções já existem antes de eu fazer o Homebake.
edit: Obrigado por todas as respostas, foi exatamente isso que eu estava procurando e achei todas genuinamente úteis. Eu provavelmente deveria ter mencionado que estou refatorando algum javascript antigo, portanto, enquanto as linguagens de tipo estaticamente podem forçar uma diferença entre o código com e sem efeitos colaterais, terei que confiar em uma convenção de nomenclatura autoimposta.
edit2: Quanto aos mods que fecham isso como principalmente baseados em opiniões, tenho que discordar. Eu estava perguntando o que, se houver, convenções eram de uso comum - isto é, por definição de alguém, uma questão de fato, não de opinião!
!
(não seria sintaticamente válido alterar o estado de uma variável sem esse operador, se a memória servir ), então é realmente uma convenção bastante sensata nesse idioma .
set!
para alterar uma variável, mas nenhum !
operador independente . A convenção existe porque o Lisp tem um histórico de uso de símbolos em identificadores para transmitir significado devido a muito poucas restrições sobre o que é um identificador válido. A falta de restrições existe devido ao foco do Lisp em macros e idiomas específicos do domínio.
!
convenção (por exemplo, para downcase
e downcase!
), mas indica "perigo" mais geralmente do que "efeitos colaterais".