如何用Swift重写CObjC代码库

北京中科白癜风医院刘云涛 http://m.39.net/pf/a_4402685.html
    做家

RonAvitzur      译者

刘雅梦      谋划

Tina

疫情期间,做家花了18月的光阴,将图形计较器(GraphingCalculator)从C++/ObjC移植到了Swift上,将代码量削减为原本的30%,而且没有显然的机能或功能损失。

图形计较器(GraphingCalculator)始于年,是为了KMacintosh用C谈话编写的,那时它唯一16位整数、曲直Quickdraw以及不带MMU、FPU和GPU的8MHzCPU。那是一个简朴的光阴。以后良多事故都产生了改变。

我永远以来都对峙“若是没有坏,就不要去修”的观念,因而代码带领了很多它往日的脚印——在那时用意义的打算取舍,但在如今曾经不合用了。它见证了CPU从Motorola(摩托罗拉)68K到IBMPowerPC系列、再到Intel和ARM的改变。它最后是在Macintosh内部编写的典范MacAPI,尔后是Carbon,再是Cocoa、AppKitUIKit,如今是SwiftUI。

经过编写新代码来增加新机能,并将新奇的遗留代码潜伏在笼统层下,这是更轻易做到的。最后的事实是:积蓄了数十年的技巧债会使新的开采变得使人耽忧。图形计较器(GraphingCalculator)依旧利用ClassicMacOS9联合线程API来运转20世纪80年月凝结的非线程平安代码。从头起头誊写统统实质,也便是从轨道上升起并破坏一共站点,这险些素来都不是一个好办法。遗留代码包罗了现时开采人员从未体验过的数十年的困苦训导,只管是最后的开采人员,若是他们还在的话,也早就忘却了。只管一个崭新的起头或者会在美学上使人惬心,但它也会为毛病制造一个庞大的表面积。在模范的小版本公布中,埋头于新特点的测试是很轻易的。完全誊写后,一共都是新的。只管如许,在把题目潜伏了35年以后,我决计的最佳方法依旧是从头审视一共,并从头起头誊写。

C++延续是治理大型项目繁杂性的有用谈话,那末我为甚么还要替换谈话呢?我对苹果的坚固事实技巧回忆深入。在为咱们的iOS产物增加了AR援助后,受AR在童子故事书中利用的启迪,我建设了一个原形运用程序,谋求如安在数学培养中利用AR。你也许在


转载请注明:http://www.aierlanlan.com/cyrz/1005.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了