[譯] Objective-C 中的代碼氣味

前言

機(jī)緣巧合翻到這幾篇10幾年前的文章,仍覺很有指導(dǎo)作用, 特別是宏和PCH相關(guān)的內(nèi)容,因?yàn)橹白鯫C項(xiàng)目和Swift的混編,在將歷史OC模塊Module化時(shí),這塊是報(bào)錯(cuò)最多和最難處理的部分。翻譯于此僅作記錄。

正文

代碼氣味。我曾在工作中提到過 "代碼氣味",結(jié)果發(fā)現(xiàn)同事們并不知道我的意思。這基本上是一個(gè)換尿布的比喻:"如果很臭,那就就換掉"。

代碼氣味并不是 "讓人掩鼻而過的可怕代碼"。相反,它只是一種簡單的跡象,表明有些東西可能需要更改。很多時(shí)候,在別人描述代碼氣味之前,你不會(huì)注意到它。這就是 Kent Beck 和 Martin Fowler 在《重構(gòu):改善既有代碼的設(shè)計(jì)》一書中所做的工作:創(chuàng)建一個(gè)代碼缺陷列表,以及如何處理這些缺陷。

Objective-C 代碼特有的氣味

本合集的代碼缺陷目錄與面向?qū)ο缶幊痰牧己脤?shí)踐有關(guān)。我將開始一個(gè)專門針對 Objective-C 代碼氣味的系列。以下是一份暫定清單,您可以先睹為快:

1、Objective-C 中 9 種避免使用 Xcode 預(yù)處理器宏的方法
2、狂野的 #imports: 如何馴服文件依賴關(guān)系
3、4 種預(yù)編譯頭文件(PCH)削弱代碼的方式
4、Objective-C 中的點(diǎn)符號(hào)一定是惡魔嗎?
......也許不是!我轉(zhuǎn)變了,請參閱《我接受的點(diǎn)符號(hào)》......
5、Objective-C init:為什么避免向 self 發(fā)消息會(huì)有幫助?

我認(rèn)為這將會(huì)很有趣,有時(shí)甚至?xí)馉幾h(有人會(huì)說 "點(diǎn)符號(hào)(Dot Notation) "嗎?)

其他資源

譯自 Jon Reid 的 Code Smells in Objective-C
侵刪

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容