繁体   English   中英

桌面<->移动代码共享[Javascript]

[英]Desktop <--> Mobile Code Sharing [Javascript]

我找不到令人满意的答案,所以这里是问题。

我正在开发基于HTML5-Websocket的应用程序,我也将其移植到Mobile。

问题是我的功能的2/3不在移动版本中,并且功能与JS紧密集成到HTML中。

如果我可以优雅地将这1/3个功能区分开,那我就干了。 但是,我找不到一个简单的解决方案。

例如,我有一个函数,它从节点获取用户对象并在一个函数中对其进行处理。 对于移动设备,除了2/3的流量外,我将需要相同的流量。 我可以为它们创建不同的功能,然后将它们放入不同的文件中,但这会带来维护方面的噩梦,因为即使是简单的功能,我也需要创建数十个额外的功能。

有什么好的框架或方法可以完成这项工作吗?

您应该将长函数分解为较小的函数。 (每个功能约15行代码。通常,任何功能都不应长于屏幕高。)

function DoAllTheThings() {
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
    // long function
}

会成为:

function DoAllTheThings() {
    WarbleTheThing();
    FribbleTheThing();
    StrabbleTheThing();
}
function WarbleTheThing() {
    // short function
    // short function
    // short function
}
function FribbleTheThing() {
    // short function
    // short function
    // short function
}
function StrabbleTheThing() {
    // short function
    // short function
    // short function
}

对于台式机浏览器,您可以调用DoAllTheThings(),但对于移动设备,您可能只调用FribbleTheThing()

对于这种情况,我建议使用去甲化的方法。 从表面上看,您认为这将是维护方面的噩梦,因为您将复制一些代码,但更深层次的维护方面的噩梦可能会因为共享代码尝试处理过多而浮出水面。 在这种情况下,代码抽象和隔离可能是可行的方法,它将加快质量检查的速度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM