Class Prefix 去哪儿了?

Stanford 的 Developing iOS 7 Apps for iPhone and iPad 课程里,老师用的是 Xcode 5,而现在 Xcode 已经出到6了。跟随课程学习的时候,遇到的第一个不同,就是 Class Prefix 在新建项目时看不到了。

我的一部分脑细胞立马就窝火了:这不是给我制造麻烦么?

另一部分脑细胞开始发问了:Apple 为什么要把这个选项去掉?

反过来问:为什么以前有这个选项?

答案可能是,预防命名冲突。具体地说,是预防 framework 之类的公共代码之间的命名冲突。而对于具体的、各不相同的 App 专有代码来说,只要用基于当下语境的方式来命名,这个问题并不是很常见——除非你的代码写得太好了,要复用到别的工程里。

所以 Apple 工程师觉得:你们反正大多数都不写 framework,不太可能需要 Class Prefix,老子干脆不给你这个选项好了……当然如果你一定要的话,去 Project Document 配置里去加呗……

我个人还是很喜欢 Class Prefix 的,因为:

1. 使用它几乎不增加什么成本,

2. 不使用它可能会造成安全隐患,

3. 它能够以直接的方式编码一些信息以供未来的回溯,

4. 它让我的代码看起来更像“我的代码”——我写个 HitBean 类(打豆豆),跟写个 YoYoHitBean 类(优优打豆豆),你觉得哪一个更有意思呢?

时间: 2024-08-27 22:37:24

Class Prefix 去哪儿了?的相关文章

以打包fuse为例介绍rpm打包工具rpmbuild的使用和SPEC文件的编写

一.rpmbuild命令的安装 yum install rpm-build 二.用法 rpmbuild -bb XXXX.spec或者rpmbuild -ba XXX.tar.gz 三.目录概述 rpmbuild在运行后会在用户目录下生成一个rpmbuild的文件夹:[[email protected] rpmbuild]# ls ~/rpmbuild/BUILD BUILDROOT RPMS SOURCES SPECS SRPMS有四个目录:BUILD:你要打包的文件将会在这里编译;BUILD

laravel 路由使用(二)

我们在第一篇文章已经描述了在laravel中一些简单路由的使用. 那么我们来回顾一下 1,基础路由 2,多请求路由 3,路由传递参数 4,路由限制 5,控制器路由 有了第一篇文章的基础之后呢,我们可以学习以下的知识点 但是,经过上篇文章呢,可能会有的人有意见,为什么呢? 关于laravel的路由定义,很多人看到后有一个疑惑: 每条地址规则都要定义路由,岂不是很累? 这个问题确实是个问题,不过,laravel给了我们一个折中的方案----资源路由. 资源路由 控制器路由我认为主要是解决路由定义繁杂

Xcode6中手动添加Precompile Prefix Header

Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上给程序员带来了编程的便利性.但是在Xcode6中去掉Precompile Prefix Header文件. Xcode6去掉Precompile Prefix

苹果试图做?XCode6 放弃prefix.pch档

当我们升级到XCode6后, 新建project发现默认是没有pch文件的.非常多人開始不习惯了,苹果到底为什么要取消这一个pch文件. 苹果觉得,因为组件单一模块的原因.你不应该在你的prefix代码中放入不论什么的代码,把他们放在你确实须要放入的文件里.把你的定义放到属于他们的文件里. 尽量不要使用宏定义(define)..除非是非不得已的时候.(这里 插一句 不使用宏定义的原因是 宏定义是在预编译的时候处理的 因此 当你改动宏定义的时候 会导致大量的代码被又一次编译 另外 宏定义存在很多潜

【BZOJ-1014】火星人prefix Splay + 二分 + Hash

1014: [JSOI2008]火星人prefix Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 5852  Solved: 1871[Submit][Status][Discuss] Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 10 11 字符 m a d a m i m a d

多个服务器总结: 将session保存到专门的一个服务器上,所有服务器都去请求数据共享Session

原理:多个服务器间想共享session,就相当于共享取多台主机上的一个变量,所以共享的思路就是让大家都能读取变量,实现的方法可以通过将session保存到专门的一个服务器上,所有服务器都去请求数据,也memcache实现session共享将这些服务器都配置成使用同一组Memcached服务器就可以, 一.提出问题: 为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务器的

Xcode6导入.pch文件(Precompile Prefix Header)

Xcode5中创建一个工程的时候,系统会自动创建一个以以工程名为名字的pch(Precompile Prefix Header)文件,开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器就会自动的将pch文件中的头文件添加到所有的源文件中去,这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上给程序员带来了编程的便利性.但是在Xcode6中去掉Precompile Prefix Header文件. Xcode6去掉Precompile Prefix

多线程技术模拟并行计算之二:数组前缀和(Prefix Sum)

一.前缀和(Prefix Sum)定义: 给定一个数组A[1..n],前缀和数组PrefixSum[1..n]定义为:PrefixSum[i] = A[0]+A[1]+...+A[i-1]: 例如:A[5,6,7,8] --> PrefixSum[5,11,18,26] PrefixSum[0] =A[0] ; PrefixSum[1] =A[0] + A[1] ; PrefixSum[2] =A[0] + A[1] + A[2] ; PrefixSum[3] =A[0] + A[1] + A[

Linux源码安装过程中选项—prefix的作用

源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure).Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,如下: -bash-3.00# ./configure --helpUsage: configure [options] [host]Options: [defaults in brackets aft