截止 2016 年 2 月 5 日, SE-0005 提案正在接受公開的審核。它提議在 Swift 中導(dǎo)入 Objective-C 代碼時自動轉(zhuǎn)換名稱。
這個提案描述了如何改進 Swift 的「Clang Importer」,它負責(zé)將 C 和 Objective-C 的 API 導(dǎo)入到 Swift 中。通過這樣的改進,Objective-C 的函數(shù)、類型、方法、屬性等的名稱可以被翻譯成更加符合 Swift API 設(shè)計準則 的名稱。這份準則是 Swift 3 的一部分。我們的解決方案專注在 Objective-C 的 Cocoa 編碼規(guī)范 和 Swift API 設(shè)計準則之間的區(qū)別,同時使用一些簡單的語言分析來把 Objective-C 的名稱自動轉(zhuǎn)換成更加 Swift 化的名稱。
做 Apple 開發(fā)時,Cocoa 是底層工具,相關(guān)知識很難學(xué)習(xí)。我不認為開發(fā)者們會愿意接受大規(guī)模的 API 調(diào)整,這會給代碼審查、錯誤檢測、后期維護以及編寫新代碼帶來更高成本。這里是 Nate Cook 的看法 。如果你在 Cocoa 部門工作,我希望你能花一些時間仔細閱讀他寫的內(nèi)容。