- 博客(11)
- 收藏
- 关注
原创 《重构》(笔记四)
第11章 处理概括关系11.1.Pull Up Field(字段上移)(320)两个子类用有相同的字段。将该字段移至超类。11.2.Pull Up Method(函数上移)(322)有些函数,在各个子类中产生完全相同的结果。将该函数移至超类。11.3.Pull Up Constructor Body(构造函数本体上移)(325)你在各个子类中拥有一些
2015-04-24 21:35:17
420
原创 《重构》(笔记三)
第八章8.1.Self Encapsulate Field(自封装字段)(171)你直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙。为这个字段建立取值/设值函数,并且只以这些函数来访问字段。动机:子类可以通过覆写一个函数而改变获取数据的途径,懒加载。做法:为待封装字段建立取值/设值函数。找出改字段的所有引用点,将它们全部改为调用取值/设值函数。将该字段声明为private。
2015-04-24 13:34:08
524
原创 《重构》(笔记二)
第六章 重新组织函数6.1.Extract Method(提炼函数)(110)你有一段代码可以被组织再一起并独立出来。将这段代码放进一个独立函数中,并让函数名解释该函数的用途。动机:简短而良好命名的函数。做法:创建一个新函数(“做什么来命名”)。将提炼出来的代码从原函数复制到新建的目标函数中。仔细检查提炼出的代码,检查“作用域限于原函数”的变量。检查是否有局部变量的
2015-04-22 19:08:00
385
原创 《重构》第四章(笔记一)
一、何谓重构二、为何重构三、何时重构四、重构难点五、重构分类一、何谓重构对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。二、为何重构1、重构改进软件设计:整理代码2、重构使软件更容易理解:不给后人留坑3、重构帮助找到bug4、重构提高编程速度:更迅速地添加新功能三、何时重构1、三次法则:第三
2015-04-13 19:43:34
545
原创 编写高质量iOS和OS X代码的52个有效方法(笔记七)
第47条:熟悉系统框架许多系统框架都可以直接使用。其中最重要的是Foundation与CoreFoundation,这两个框架提供了构建应用程序所需的许多核心功能。很多常见任务都能用框架来做,例如音频与视频处理、网络通信、数据管理等请记住:用纯C写成的框架与用Objective-C写成的一样重要,若想成为优秀的Objective-C开发者,应该掌握C语言的核心概念第48条:多用
2015-03-30 16:51:23
495
原创 编写高质量iOS和OS X代码的52个有效方法(笔记六)
第37条:理解“块”这一概念块是C、C++、Objective-C中的词法闭包块可接受参数,也可返回值块可以分配在栈或堆上,也可以是全局的。分配在栈上的块可拷贝到堆里,这样的话,就和标准的Objective-C对象一样,具备引用计数了第38条:为常用的块类型创建typedef以typedef重新定义块类型,可令块变量用起来更加简单定义新类型时应遵从现在有的命名习惯,
2015-03-30 16:15:25
334
原创 编写高质量iOS和OS X代码的52个有效方法(笔记五)
第29条:理解引用计数引用计数机制通过可以递增递减的计数器来管理内存。对象创建好之后,其保留计数至少为1。若保留计数为正,则对象继续存活。当保留计数降为0时,对象就被销毁了在对象生命期中,其余对象通过引用来保留或释放此对象。保留与释放操作分别会递增保留计数第30条:已ARC简化引用计数有ARC之后,程序员就无须担心内存管理问题了。使用ARC来编程,可省去类中的许多“
2015-03-30 15:43:34
336
原创 编写高质量iOS和OS X代码的52个有效方法(笔记四)
第23条:通过委托与数据源协议进行对象间通信委托模式为对象提供了一套接口,使其可由此将相关事件告知其他对象将委托对象应该支持的接口定义成协议,在协议中把可能需要处理的事情定义成方法当某对象需要从另外一个对象中获取数据时,可以使用委托模式。这种情境下,该模式亦称“数据源协议”(data source protocal)若有必要,可实现含有段位的结构体,将委托对象是否能响应相关协议方法这一
2015-03-30 15:39:24
957
原创 编写高质量iOS和OS X代码的52个有效方法(笔记三)
第15条:用前缀避免命名空间冲突选择与你公司、应用程序或二者皆有关联之名称作为类名的前缀,并在所有代码中均使用这一前缀若自己所开发的程序库中用到了第三方库,则应为其中的名称加上前缀第16条:提供“全能初始化方法”在类中提供一个全能初始化方法,并于文档里指明。其他初始化方法均应调用此方法若全能初始化方法与超类不同,则需覆盖写超类中对应方法如果超类的初始化方法不适用于子类,
2015-03-30 15:11:01
446
原创 编写高质量iOS和OS X代码的52个有效方法(笔记二)
第6条:理解“属性”这一概念可以用@property语法来定义对象中所封装的数据通过“特质”来指定存储数据所需的正确语义在设置属性所对应的实例变量时,一定要遵从该属性所声明的语义开发iOS程序时应该使用nonatomic属性,因为atomic属性会严重影响性能第7条:在对象内部尽量直接访问实例变量在对象内部读取数据时,应该直接通过实例变量来读,而写入数据时,则应该通过属
2015-03-30 13:57:16
429
原创 编写高质量iOS和OS X代码的52个有效方法(笔记一)
第1条:了解Objective-C语言的起源Objective-C为C语言添加了面向对象特性,是其超集。Objective-C使用动态绑定的消息结构,也就是说,在运行时才会检查对象类型。接收一条消息之后,究竟应执行何种代码,由运行期环境而非编译器来决定。理解C语言的核心概念有助于写好Objective-C程序。尤其要掌握内存模型与指针。第2条:在类的头文件中尽量少引入其他文件
2015-03-30 11:32:58
526
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人