Djinni:如何处理想要重载的方法

Djinni: how to deal with wannabe overloaded methods?

本文关键字:重载 方法 理想 何处 Djinni      更新时间:2023-10-16

我最近在一个中型移动项目中使用了djinni
它确实是一个有用的工具,帮助我们简化和加快了开发过程。

它不止一次有助于重载一个方法
这在djinni中是不可能的(我想这是由于其中一个目标平台的限制),我们最终得到了两个名称略有不同的方法。

当使用djinni时,这是建议的方法吗
有更聪明的方法可以做到这一点吗?

我发现使用两个不同名称的方法有点容易出错,但文档中既没有提到(比如)问题,也没有提出解决方法。

Djinni不支持重载是对的,这是因为某些目标语言的支持有限。Objective-C和Python都不支持重载(尽管C++和Java支持重载),我们决定最好让Djinni方法的名称在所有语言中都相同,而不是试图为重载方法自动生成唯一的名称
我的建议是,如果你喜欢Objective-C风格,可以自己选择独特而难忘的名字,比如do_something_int()do_something_with_int()
但Djinni不试图自动做到这一点的另一个原因是,我们认为你可以为你的用例选择比Djinni自动更好的名字。