objective-c – 使用.mm文件而不是.m是不是一个坏主意,以防以后我使用C?
栏目: Objective-C · 发布时间: 5年前
内容简介:这不是最糟糕的想法,但它也不是一个好主意.Objective-C的主要目的是充当需要使用C库的Objective-C代码的桥梁.因此,在大多数项目中,几乎所有的代码都是普通的Objective-C,可能有几个.mm文件来创建一个“包装”对象来与C库通信.因此,您极不可能需要将代码的重要部分从Objective-C更改为Objective-C.您的SCM历史记录中不应包含大量文件重命名.
工具开发一个典型的Mac或iOS应用程序.进一步假设我主要使用Objective-C开发此应用程序,并利用Apple的Cocoa或Cocoa Touch框架中的所有相关API.
假设我目前没有计划在我的代码库中使用C或Objective-C,但我怀疑未来的某些时候我可能想在这里使用一些Objective-C.
所以我正在考虑将所有.m文件命名为.mm,以防万一. (这将在我的SCM系统中产生更清晰历史的理想效果,因为我以后不必重命名文件.)
这是一个坏主意吗?当文件实际上不包含任何Objective-C时,有没有理由使用.mm文件肯定或明显比使用.m文件更差?
据推测,这个文件扩展名翻转了编译器中的一些开关,然后编译器不仅需要解析ObjC的源代码,还需要解析C的源代码.这是否会对中到大代码库的构建时间产生显着的负面影响?
它是否有任何其他负面(或积极)影响我应该记住?
注意:请不要回答有关ObjC或C是否更好的任何评论.这不是这个问题的内容.
这不是最糟糕的想法,但它也不是一个好主意.
Objective-C的主要目的是充当需要使用C库的Objective-C代码的桥梁.因此,在大多数项目中,几乎所有的代码都是普通的Objective-C,可能有几个.mm文件来创建一个“包装”对象来与C库通信.
因此,您极不可能需要将代码的重要部分从Objective-C更改为Objective-C.您的SCM历史记录中不应包含大量文件重命名.
在任何地方使用Objective-C的主要问题是你将遵循“少走过的路”:你阅读的99%的教程和你使用和学习的开源代码都将由Obj-编写. C编译器.使用Obj-C编译器大致相同,并且可能在大多数情况下不会产生影响,但是最终会遇到一些问题,这是由于Obj-C的编译方式略有不同,但是当你发现它不会很明显,你会花费大量的时间来尝试诊断它,然后才意识到这是因为你使用的是经过较少测试的编译器设置.
如果您有很多C经验并且在代码中发现自己“需要”来自C的功能,那么您可能并不真正需要它们,您可能需要花费更多时间来确定如何在Objective-C中执行等效操作.在罗马做到入乡随俗.
一般来说,“以防万一”并不是偏离标准做法的好理由.你经常会花费很多精力去做一些你不需要的东西.
翻译自:https://stackoverflow.com/questions/11924325/is-it-a-bad-idea-to-use-mm-files-instead-of-m-just-in-case-i-use-c-later
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Art and Science of CSS
Jonathan Snooks、Steve Smith、Jina Bolton、Cameron Adams、David Johnson / SitePoint / March 9, 2007 / $39.95
Want to take your CSS designs to the next level? will show you how to create dozens of CSS-based Website components. You'll discover how to: # Format calendars, menus and table of contents usin......一起来看看 《The Art and Science of CSS》 这本书的介绍吧!