2009-06-17 7 views

Répondre

2

Il est assez commun pour les développeurs de donner les variables d'instance de leurs noms d'objets commençant par m_ (abréviation de "member"), et la règle que vous voyez montre que votre code n'est pas conforme à cette convention. Si vous ne voulez pas suivre cette convention dans votre code, désactivez cette règle dans l'analyseur.

+1

La convention fait partie de AT, pas de l'outil Clang. Dans les commentaires de la réponse SO que j'ai référencée, le développeur de AT reconnaît que certaines personnes souhaiteraient la désactiver, mais cette fonctionnalité n'est pas prise en charge dans la version actuelle de leur outil GUI. –

+0

En outre, alors que les développeurs en général peuvent utiliser un préfixe "m" ou "m", je n'ai pas vu grand-chose dans le code Objective-C, et cela semble quelque peu inutile. Comme la plupart des variables sont des variables d'instance, j'utilise des préfixes pour statiques/globales/constantes et je m'assure que les variables locales n'observent pas les ivars. Xcode a quelques outils assez décents pour déterminer où un symbole est déclaré (double clic sur le Cmd) et où il est utilisé (cliquez dessus, les utilisations sont soulignées). –

+0

Je n'utilise pas la convention moi-même, donc ne la vérifiez pas dans l'analyseur. Le guide de codage Google ObjC l'exige cependant. Chacun à son propre :-) –

3

AnalysisTool est une interface graphique frontale, mais utilise également certaines règles personnalisées qui ne font pas partie de Clang. À ma connaissance, Clang n'applique/ne suggère aucune convention de dénomination pour les variables d'instance, ce que vous voyez est probablement un style de codage interne (utilisé par les développeurs de AT) que vous pouvez ignorer en toute sécurité. Voir this SO answer pour plus de détails.

Le Clang Static Analyzer lui-même est maintenant disponible en téléchargement binaire pour Leopard, alors qu'auparavant vous deviez le construire vous-même, ce qui était complexe et prenait du temps. C'est assez facile à utiliser sans interface graphique, et les rapports sont plutôt bien dans l'ensemble.

+0

Je l'utilise habituellement du CL. J'ai eu des problèmes en raison d'une bibliothèque statique liée et j'ai trouvé AnalysisTool capable de les contourner. Mais toute entrée sur le préfixe "m"? –

+0

Comme je l'ai mentionné, je pense que c'est une convention codée en dur dans AnalysisTool. –