web-dev-qa-db-fra.com

Quel est le contraire d'initialiser (ou d'init)?

Le terme sera utilisé comme nom de méthode. La méthode est appelée lorsqu'une partie de l'interface utilisateur est masquée (ou supprimée), et elle est utilisée pour réinitialiser les valeurs par défaut et supprimer les objets qui ne seront plus utilisés.

Les noms possibles sont: libérer, supprimer, éliminer, effacer, etc.

Selon vous, laquelle est la plus appropriée?

102
Gabriel Diaconescu

J'utilise :

  • initialiser()
  • mettre fin()

Je le trouve le plus approprié:

  • il est difficile de ne pas le voir dans le code, car ce sont deux mots longs (je n'utilise pas init)
  • c'est correct anglais (AFAIK)
  • dans ma tête, terminer évite toute ambiguïté. Il ne correspond pas à begin (qui correspond à end), start (qui correspond à stop), create (qui correspond à destroy), setup (qui correspond à unset), load (qui correspond à unload), etc.

Certaines personnes pourraient cependant trouver cela une question de goût.

84
Klaim

Je choisis généralement Finalize, Destroy ou Terminate en fonction de la fonction des objets.

Pour le cas que vous décrivez, Finalize est ce que j'irais avec en fonction de mon schéma.

26
Brian Dishaw

J'aime release pour une méthode qui dispose des objets et autres ressources (par exemple comme préparation à la destruction). Je choisirais reset pour une méthode qui réinitialise les valeurs par défaut.

Si l'état "par défaut" ne nécessite aucune ressource, alors reset peut appeler release pour effectuer cette partie de ses opérations.

14
comingstorm

close()

Personne n'a encore proposé close (). Java 7 a une nouvelle fonctionnalité "essayer avec les ressources". Une classe qui est nettoyée automatiquement doit implémenter Java.lang.AutoCloseable qui a une seule méthode close (). Shutdown () ou cleanup () pourrait aussi être bon.

Pas finalize()

finalize () signifie quelque chose de spécifique au ramasse-miettes en Java, et la façon dont cela fonctionne est un peu bizarre. Je resterais loin de finalize () à moins que vous ne vouliez exactement ce que Java fait avec finalize ().

7
GlenPeterson

Je dirais que cela dépend si l'action est facultative ou obligatoire (sans fuite de ressources) et si le langage prend en charge les constructeurs/destructeurs. Pour les cas optionnels que j'utilise:

  • clair
  • réinitialiser
  • cacher (dans le contexte de l'interface utilisateur)

Dans d'autres cas où l'action inverse est requise (dans les langages sans constructeurs/destructeurs, ou lorsque le destructeur ne libère pas la ressource), j'utilise:

  • init - fini
  • initialiser - désinitialiser
  • créer - détruire

Dans votre cas, je pense que je préférerais hide. Il peut toujours libérer de la mémoire/des ressources s'il le souhaite - l'important est qu'il est facultatif, c'est-à-dire que le destructeur s'en occuperait si vous ne le faisiez pas.

4
Oskar N.

J'aime bien "détruire". Cela ne pourrait pas être plus clair, sauf si vous écrivez un jeu vidéo ou quelque chose.

4
Eliot Ball

Ma première pensée a été de démolir, mais elle est utilisée dans de nombreux frameworks de test. Finaliser et éliminer ont des problèmes similaires. Réinitialiser ou nettoyer les deux semblent être de bons choix. Réinitialiser indique clairement qu'il revient à l'état initialisé, ce qui serait bien si l'état dans lequel vous revenez est l'état initial.

Assurez-vous simplement que votre terme n'est pas surchargé dans votre contexte actuel.

3
Sign

et il est utilisé pour réinitialiser les valeurs par défaut et éliminer les objets qui ne seront plus utilisés.

reset semble être un bon terme si vous réinitialisez l'objet à ses valeurs par défaut. reinitialize pourrait également être approprié si l'utilisation de cet objet est similaire à ce que fait initialize. Il semble que cette méthode supprime les objets other, pas celui qui reçoit le message, auquel cas l'un des éléments ci-dessus devrait être correct. Si vous faites vraiment le contraire de init et préparez le récepteur à être détruit, dispose serait un bon choix.

3
Caleb

http://www.wordhippo.com/what-is/the-opposite-of/initialize.html

J'irais avec finaliser. Cependant, je pense que cela dépend un peu du cas d'utilisation exact: par exemple Si vous l'utilisez principalement pour libérer des ressources, fermer des connexions, des fichiers, la libération serait plus significative.

Si vous cherchez une notion à usage général ou à normaliser, je choisirais une notion moins significative, quelque chose sans signification particulière comme la publication ou la suppression.

Le concept d'init vs (peu importe) est similaire à (constructeur vs destructeur), ou dans Java finalize).

( Remarque : Si le langage a le concept construire et détruire des objets, son peu ou pas besoin d'utiliser init ().)

1
user1063963

Si l'objet auquel la méthode est appelée cesse d'être utilisé, j'utiliserais simplement le destructeur standard. Cela ne ressemble pas au cas, cependant, plutôt que de devenir trop générique, un meilleur nom est probablement quelque chose comme hide() si l'objet lui-même est caché ou hideUserInterfacePart() si des objets composés sont cachés.

0
Karl Bielefeldt