前言
机缘巧合翻到这几篇10几年前的文章,仍觉很有指导作用, 特别是宏和PCH相关的内容,因为之前做OC项目和Swift的混编,在将历史OC??镸odule化时,这块是报错最多和最难处理的部分。翻译于此仅作记录。
正文
代码气味。我曾在工作中提到过 "代码气味",结果发现同事们并不知道我的意思。这基本上是一个换尿布的比喻:"如果很臭,那就就换掉"。
代码气味并不是 "让人掩鼻而过的可怕代码"。相反,它只是一种简单的迹象,表明有些东西可能需要更改。很多时候,在别人描述代码气味之前,你不会注意到它。这就是 Kent Beck 和 Martin Fowler 在《重构:改善既有代码的设计》一书中所做的工作:创建一个代码缺陷列表,以及如何处理这些缺陷。
Objective-C 代码特有的气味
本合集的代码缺陷目录与面向对象编程的良好实践有关。我将开始一个专门针对 Objective-C 代码气味的系列。以下是一份暂定清单,您可以先睹为快:
1、Objective-C 中 9 种避免使用 Xcode 预处理器宏的方法
2、狂野的 #imports: 如何驯服文件依赖关系
3、4 种预编译头文件(PCH)削弱代码的方式
4、Objective-C 中的点符号一定是恶魔吗?
......也许不是!我转变了,请参阅《我接受的点符号》......
5、Objective-C init:为什么避免向 self 发消息会有帮助?
我认为这将会很有趣,有时甚至会引起争议(有人会说 "点符号(Dot Notation) "吗?)
其他资源
- 重构:改变我一切的一本书
- 马丁·福勒解释 “代码气味(code smell)”
- 重构书中的代码气味摘要, 使用重构来修复他们
译自 Jon Reid 的 Code Smells in Objective-C
侵删