Je regardais à travers le code de quelqu'un un jour et j'étais ennuyé comment ils ont déclaré toutes leurs fonctions d'abord et puis les a appelés plus tard. Je suppose que je suis habitué aux fonctions générées automatiquement de Visual Studio, qui sont faites après vous les appelez - et je me demandais, de quelle façon préférez-vous? Ou y a-t-il une norme sur ce genre de choses?Les fonctions sont-elles déclarées avant ou après les avoir appelées?
Répondre
Je ne suis pas sûr de ce que vous entendez par là. En C et C++, une fonction doit être déclarée avant d'être appelée, sinon le compilateur ne saura pas comment vérifier vos arguments et retourner les valeurs.
Tout ce que Visual Studio fait automatiquement peut être considéré comme un standard Microsoft. Pas toujours la meilleure norme, mais une norme de toute façon =)
Parfois je souhaite que vous puissiez survoler le nom de la fonction et voir la fonction entière ou quelque chose. – DMan
@DMan: Uhm ... cela pourrait être une très grande info-bulle. Et c'est à ça que servent les descriptions d'intelli-sens (pourquoi avez-vous besoin de voir le code?). Ctrl + clic fonctionne dans un tas d'IDE ... – mpen
@ Mark- Parfois, je n'utilise pas Visual Studio ou dans le cas de VC++, un pas très bon. – DMan
Je ne pense pas que ce soit important car les fonctions sont toutes chargées en mémoire avant le début de l'exécution. C'est surtout une question de style.
Personnellement, je mets des fonctions diverses qui ne font pas partie d'une définition de classe au bas de mon code, donc c'est plus facile à lire.
C'est juste mon $ 0,02 si.
- 1. Obtenir les fonctions appelées avec GDB
- 2. Les fonctions doivent-elles être déclarées avec une portée minimale?
- 3. Les fonctions de délégué ne sont pas appelées
- 4. Obtenir les fonctions appelées dans une expression Python
- 5. Besoin de comprendre comment les fonctions javascript sont appelées
- 6. Est-ce que Klocwork détecte les fonctions jamais appelées?
- 7. Appeler toutes les 3 fonctions en utilisant ou opérateur même après avoir renvoyé vrai en conséquence
- 8. Meilleure façon de mettre du retard après avoir appelé les fonctions javascript
- 9. Séries Json.NET avant et après les appels
- 10. RhinoMocks - Récupération des paramètres des fonctions appelées
- 11. Fonctions de limite appelées par d'autres fonctions spécifiques dans Ada
- 12. déclarations avant ou après Namespace en C#
- 13. Rediriger les utilisateurs après avoir détruit
- 14. Android - DatePicker onDateChanged avant les valeurs après
- 15. C89: Besoin de déclarer des fonctions avant de les référencer?
- 16. Existe-t-il un moyen de gérer les fonctions non définies appelées en JavaScript?
- 17. Y at-il un moyen de voir les fonctions qui sont exécutées après avoir poussé un lien ou un bouton dans une page web faite avec PHP?
- 18. Débogueur Visual Studio ne peut pas voir les tableaux après avoir été passé à des fonctions
- 19. Est-ce que link_to avoir: avant et/ou: après comme link_to_remote
- 20. Grep (ou peut-être regex) vérifier le motif sur les lignes avant ou après un match
- 21. intellisense pour les variables et les constantes précédemment déclarées
- 22. XNA: Les fonctions de remplacement DrawableGameComponent de base (Update, Draw, etc) ne sont pas appelées
- 23. Comment écrire un wrapper sur les fonctions et les fonctions membres qui exécutent du code avant et après la fonction encapsulée?
- 24. Fonction JQuery ou fonctions pour les dates
- 25. Pourquoi les fonctions de rappel doivent être statiques lorsqu'elles sont déclarées dans la classe
- 26. Faire quelque chose après avoir créé et avant de détruire
- 27. PHP afficher les noms de toutes les classes déclarées?
- 28. Supprimer les espaces multiples avant et après Characters PHP
- 29. JTabbedPane: Composants avant et après les onglets eux-mêmes
- 30. Existe-t-il un moyen de vérifier si toutes les fonctions définies sont appelées?
Oh, peut-être * c'est * pourquoi. J'ai effectivement remarqué cela après le transfert de C# vers C++. Peut-être que ça aurait dû être une question après tout! Merci! – DMan
Notez également qu'il existe une différence entre "déclaré" et "défini". En C++, ils doivent être "déclarés" en premier, mais vous pouvez le faire avec un prototype de fonction d'une ligne et ensuite mettre le corps de la fonction ci-dessous si vous le souhaitez. Même dans les langages dynamiques, la fonction doit être définie avant d'être appelée (en cours d'exécution). Comme dans Python, vous pouvez mettre la fonction au-dessus ou au-dessous, mais si elle est ci-dessous, et que la fonction est appelée * immédiatement * (avant que l'analyseur n'arrive à la définition), vous obtiendrez une erreur d'exécution. – mpen