Supposons que je développe une application Mac ou iOS typique à l'aide des derniers outils Xcode d'Apple. Supposons également que je développe principalement cette application à l'aide d'Objective-C et que j'exploite toutes les API pertinentes des cadres Cocoa ou Cocoa Touch d'Apple.
Disons que je n'envisage pas actuellement d'utiliser C++ ou Objective-C++ dans ma base de code, mais que je pense qu'un jour ou l'autre je pourrait vous voulez saupoudrer un peu d'Objective-C++ ici et là.
Donc j'envisage de nommer toutes mes .m
comme .mm
à la place, juste au cas où. (Cela aura l'effet souhaitable d'un historique plus propre dans mon système SCM, car je n'aurai pas à renommer les fichiers plus tard).
Est-ce une mauvaise idée ? Y a-t-il une raison pour laquelle l'utilisation de .mm
est définitivement ou significativement pire que d'utiliser .m
alors que le fichier ne contient pas d'Objective-C++ ?
On peut supposer que cette extension de fichier déclenche un interrupteur dans le compilateur qui devra alors analyser le code source non seulement pour ObjC, mais aussi pour C++. Cela a-t-il un effet négatif significatif sur les temps de construction pour les bases de code de taille moyenne à grande ?
A-t-il d'autres effets négatifs (ou positifs) que je devrais garder à l'esprit ?
REMARQUE : veuillez ne pas répondre par des commentaires sur la question de savoir si ObjC ou C++ est meilleur. Ce n'est pas le sujet de cette question.