2016-02-23 2 views
-3

Comme le titre l'a demandé. Par exemple, je veux renommer un nom de fonction aléatoire dans Elixir, puis-je le faire en toute sécurité?Dans Elixir les noms de fonctions peuvent-ils être refactorisés en toute sécurité sans spécification de type?

+1

C'est une sorte de question générale, n'est-ce pas? Si vous vous interrogez spécifiquement sur la refonte de la fonction de renommage, alors peut-être que c'est ainsi que vous devriez formuler votre question. À l'heure actuelle, il semble que vous cherchiez une réponse générique quelconque. –

+0

@OnorioCatenacci Fixe –

Répondre

1

Vous devrez trouver tous les endroits où la fonction est appelée et les changer pour correspondre.

Un outil pour aider à cela est le test unitaire. ExUnit est disponible en Elixir, et Eunit est disponible à Erlang. Pour les tests d'intégration, le framework Common Test est disponible dans les deux langues, bien que je ne connaisse pas les wrappers Elixir.

Une autre option est d'utiliser dialyzer, que vous pouvez facilement intégrer dans un projet Elixir avec Dialyxir. C'est particulièrement utile si vous incluez type annotations dans votre code. Même si vous ne les utilisez pas, dialyzer peut trouver de nombreuses violations de contrat de fonction dans votre code, mais vous devez toujours les corriger manuellement.

Dialyxir est juste une intégration d'élixir pour dialyzer, qui est un outil Erlang. Function specifications s'appliquent également à Erlang

+0

Vous avez oublié de mentionner [RefactorErl] (http://plc.inf.elte.hu/erlang/index.html). –

+1

Ne peut pas oublier quelque chose que vous ignorez. :) Je vais devoir aller le chercher! –