準(zhǔn)備好了嗎,Swift以后就不需要 breaking code 啦

原文連接: Getting ready for Swift to stop breaking code
原文發(fā)布日期:2016-2-29
文章來源:
作者:
譯者:Crystal Sun
校對(duì):
定稿:

當(dāng)我們提到 code breaking 時(shí)柿冲,差不多是指下面的兩個(gè)含義茬高。

  1. 語音語義發(fā)生了變化。這時(shí)你需要重構(gòu)代碼假抄,典型例子就是 Swift 從 (..., $NSError) -> Result? 格式改為錯(cuò)誤拋出怎栽。
  2. 語言語法發(fā)生了變化。這時(shí)只需進(jìn)行遷移宿饱,然后大部分代碼或多或少都能得到修復(fù)(還有一小部分需要微調(diào))熏瞄。

后者會(huì)帶來各種不方便,但前者卻是破壞性的谬以。如果我猜的沒錯(cuò)强饮,Swift 3 的目標(biāo)是進(jìn)行最后一次內(nèi)部調(diào)整,等到 Swift 4 的時(shí)候为黎,不會(huì)再重新設(shè)計(jì)語言了胡陪,而是增加新的特性。

Chris Lattener 寫道碍舍,

贊同 —— Swift 3 的源碼調(diào)整已經(jīng)完成了柠座,所以我們會(huì)提供非常棒的遷移工具,幫助人們能夠迅速完成遷移工作片橡。除了 Swift 3 外妈经,Swift 社區(qū)將會(huì)成為多元化社區(qū),支持多個(gè)平臺(tái)系統(tǒng)捧书,創(chuàng)造出更多不同的工具和 IDE 供開發(fā)者使用吹泡。

正因如此,在 Swift 3 發(fā)布之后经瓷,source breaking changes 會(huì)更加困難爆哑,我們傾向于盡可能地把 breaking 放到 Swift 3 中。

更多

雖然 Swift 4 可能也有一些breaking舆吮,不過我們更希望能夠減少breaking的情況

時(shí)間框架

這也是為什么我們要努力把 Swift 3 完善好的原因揭朝,在目前的時(shí)間限制下队贱,即使這意味著要推掉一些有趣的工作……
……

我認(rèn)為現(xiàn)在沒有必要討論 Swift 3 之后的特性,也不會(huì)帶來什么好處潭袱。沒有足夠的資源讓核心團(tuán)隊(duì)成員參與討論柱嫌,我們更希望能夠讓社區(qū)和開源貢獻(xiàn)者將主要的精力集中在 Swift 3 上,力爭讓 Swift 3 功能更加強(qiáng)悍屯换。

Swift 3 的特性能夠預(yù)示 Swift 4 的走向编丘。盡管有一些特性我們能夠預(yù)知(例如并發(fā)會(huì)成為 Swift 的一個(gè)特性),仍然有很多完全不同的設(shè)計(jì)方向值得我們探討和嘗試彤悔。雖然現(xiàn)在不太可能來一場討論嘉抓,權(quán)衡決定哪種是最好的解決方案,不過大量的討論必定會(huì)浪費(fèi)時(shí)間晕窑。

現(xiàn)在需要所有相關(guān)的人等到合適的時(shí)間再來討論掌眠,雖然這需要足夠的耐心和克制,不過對(duì)每個(gè)人來說幕屹,這是最好的蓝丙。今年秋天(北半球)很快就要到了,我們還有太多重要的工作需要完成望拖。

將 Swift 3 的各種目標(biāo)固定下來列出時(shí)間表這件事可不太容易渺尘,尤其是 Swift 開源之后。

預(yù)測 Swift 3 最終結(jié)果(比如:“Swift 3 會(huì)實(shí)現(xiàn)我們的目的嗎说敏?”)鸥跟,本身就是一件危險(xiǎn)的事情,也不可能做到完美預(yù)測盔沫。在語言設(shè)計(jì)和增加特性上有太多的未知了(比如:我們連一個(gè)具體的設(shè)計(jì)稿都沒有医咨,你如何知道要花費(fèi)多少時(shí)間來執(zhí)行呢?)架诞,隨著新的問題不斷出現(xiàn)拟淮,我們的工作量又在不斷增加,當(dāng)然了谴忧,需要開源社區(qū)來確認(rèn)有哪些新問題很泊。更不可能預(yù)測開源的貢獻(xiàn)者能提供多少時(shí)間和工作量。

我們對(duì)一些好的想法說“不”的部分原因就是我們?cè)O(shè)計(jì)和執(zhí)行的受限沾谓。我們對(duì) Swift 3 有較高的目標(biāo)要求委造,但是我們也不能百分百確定我們能完全實(shí)現(xiàn)我們的目標(biāo)(這也是“目標(biāo)”的原因了,而不是“確定性”)均驶。我覺得我們?cè)?Swift 3 上要行動(dòng)一致昏兆,集中解決語言里的核心缺陷,修復(fù)各種問題妇穴,設(shè)計(jì)影響 ABI 穩(wěn)定性的 resilience 特性爬虱,同時(shí)呈現(xiàn)小范圍的擴(kuò)展隶债。不同于之前討論的大的擴(kuò)展,小范圍擴(kuò)展不會(huì)影響核心模塊( 例如成員初始化改造 the menberwise init revamp )饮潦,我希望能在 Swift 3 里實(shí)現(xiàn)部分?jǐn)U展燃异。

總而言之携狭,關(guān)于 Swift 3 是什么的問題继蜡,已經(jīng)上升到更高的層次,Swift 3 能夠讓更多的人接受 Swift 語言逛腿,人們?cè)?Linux 上運(yùn)行 Corelibs + Swift 變成現(xiàn)實(shí)稀并,無疑能夠吸引更多的人來使用 Swift ,SwiftPM 已經(jīng)逐漸完善单默,形成了自己的體系碘举,Swift 語言和 stdlib 標(biāo)準(zhǔn)庫函數(shù) 更加成熟。

這意味著什么搁廓?恩引颈,首先,從 Swift 2 過渡到 Swift 3 不可避免地將是懸崖式的過渡境蜕,大量的代碼需要重寫蝙场,Cocoa 的重命名工作也要落地了,我們將再次創(chuàng)建令人矚目的科技成果粱年。同樣地售滤,我們應(yīng)該嘗試將 “ 重新布局式的 ” 改變放到 Swift 3 中,如果可能的話台诗,Swift 3 到 Swift 4 的過渡盡可能平緩一些⊥曷幔現(xiàn)在人們理解接受 Swift 的進(jìn)化改變的種種不便,不過我們不能一直這樣拉队。我認(rèn)為我們不能百分之百地保證從 Swift 3 到 Swift 4 的代碼兼容性弊知,我希望從 Swift 2 到 Swift 3 的代碼升級(jí)能夠簡單一些。

最后一點(diǎn)粱快,留意 Cocoa 的重命名工作吉捶,這將是一項(xiàng)令人矚目的成就。

本文由 SwiftGG 翻譯組翻譯皆尔,已經(jīng)獲得作者翻譯授權(quán)呐舔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市慷蠕,隨后出現(xiàn)的幾起案子珊拼,更是在濱河造成了極大的恐慌,老刑警劉巖流炕,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澎现,死亡現(xiàn)場離奇詭異仅胞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)剑辫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門干旧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人妹蔽,你說我怎么就攤上這事椎眯。” “怎么了胳岂?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵编整,是天一觀的道長。 經(jīng)常有香客問我乳丰,道長掌测,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任产园,我火速辦了婚禮汞斧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘什燕。我一直安慰自己粘勒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布秋冰。 她就那樣靜靜地躺著仲义,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剑勾。 梳的紋絲不亂的頭發(fā)上埃撵,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音虽另,去河邊找鬼暂刘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛捂刺,可吹牛的內(nèi)容都是我干的谣拣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼族展,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼森缠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仪缸,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤贵涵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宾茂,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓷马,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了跨晴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欧聘。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖端盆,靈堂內(nèi)的尸體忽然破棺而出怀骤,到底是詐尸還是另有隱情,我是刑警寧澤爱谁,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布晒喷,位于F島的核電站孝偎,受9級(jí)特大地震影響访敌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衣盾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一寺旺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧势决,春花似錦阻塑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淌喻,已是汗流浹背镰官。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孟岛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像曲稼,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子湖员,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容