Je comprends que selon la spécification C ++, il n'y a pas de "méthode", et certains (beaucoup? La plupart?) Programmeurs C ++ considèrent la "méthode" comme un Java-isme. D'un autre côté, même sur un forum C ++, les gens semblent parler de méthodes sans se contracter. Je recherche des conventions connues ou des pratiques courantes concernant cette terminologie.
Je documente une API qui a à la fois des versions C ++ et Java. Les développeurs ont en fait conservé les noms de classe et de méthode / fonction membre entre les deux, probablement pour des raisons de portage et de test. Pour cette raison, une partie de ce qui doit être documenté au sujet de ces API se situe "au-dessus" du choix de la langue; J'ai besoin de pouvoir parler en général des Foos et Bars, avec leurs méthodes baz () et mumble () ...?
Si je parle de méthodes que les programmeurs Java considéreront comme naturelles et, semble-t-il, les programmeurs C ++ comprendront probablement mais certains considéreront que c'est incorrect. Ma question est: à quel point est-ce odieux dans la pratique ? Comment les fonctions membres C ++ sont-elles classiquement parlées dans des contextes "POO généraux", par opposition à des contextes spécifiques à C ++? Existe-t-il une meilleure façon de parler des fonctions membres d'une manière qui n'est incorrecte pour aucune langue? ("Fonctions membres" est un peu bavard.)
Ce n'est pas un sondage d'opinion; J'essaie de déterminer s'il existe des conventions ou des pratiques courantes pour résoudre ce problème.
Je suis au courant de cette question , mais elle concerne la POO en général et ne pose pas de questions sur des langues spécifiques.
la source
Réponses:
Pourquoi ne pas inclure une explication (tout comme vous l'avez fait dans votre question) dans la partie introductive de la documentation, par exemple une section Conventions ? Vous pourriez alors expliquer que le terme "méthode", tel qu'il est utilisé dans votre documentation, est utilisé dans le sens générique de méthode (Java), fonction membre (C ++), ... puisque la documentation s'applique à toutes les implémentations.
la source
Eh bien, vous n'allez pas vous faire exécuter.
La plainte dans le monde C ++ n'est pas une correction pédante: c'est une ambiguïté. Il existe tellement de types de «méthodes» différentes dans le désert, selon le domaine dont vous parlez, qu'un certain nombre d'entre nous préfèrent s'en tenir à la terminologie standard pour éviter des malentendus plus tard. Cela signifie, grosso modo, "fonction statique / [non statique] [pure] virtuelle / [non virtuelle] / [libre]".
Si vous écrivez plutôt "méthode" dans votre documentation, certains programmeurs C ++ peuvent se plaindre que ce dont vous parlez n'est pas vraiment clair, ou craindre que si vous n'êtes pas familier avec cette convention C ++, quels autres vous manquent?
Mais je suis sûr qu'il y a des millions de programmeurs C ++ professionnels qui eux-mêmes n'ont aucune idée que c'est même une chose. C'est un grand vieux monde.
Vous n'allez pas vous faire exécuter pour ça.
la source
Eiffel les appelle routines ou fonctionnalités , C ++ les appelle fonctions membres et (presque) tous les autres langages OO jamais créés dans toute l'histoire de l'informatique, avant et après que C ++ les appelle méthodes , de sorte que ce dernier terme devrait généralement être compris même par Les programmeurs C ++ (et Eiffel), à moins qu'ils n'aient vraiment jamais entendu parler de Simula, Smalltalk, Self, Objective-C, Newspeak, Java, C #, VB.NET, PHP, Python, Ruby, ECMAScript / JavaScript, Scala, CoffeeScript,…
la source