2012-04-17 83 views
0

我找不到满意的答案,所以这里是问题;桌面<-->移动代码共享[Javascript]

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

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

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

例如,我有一个从节点获取用户对象并在函数中处理它的函数。对于手机,我需要相同的流量,但流量的2/3除外。我可以为它们创建不同的功能,并将它们放入不同的文件中,但这会带来维护噩梦,因为我需要为简单功能创建数十个额外功能。

是否有任何良好的框架或方式做这些工作在这里工作?

回答

0

我会建议这种情况的denoramlized方法。表面上你认为这将是一个维护噩梦,因为你会复制一些代码,但更深层次的维护噩梦可能表现为共享代码尝试处理太多。在这种情况下,代码抽象和隔离可能是要走的路,并且会加速QA。

1

您应该将长功能分解为更小的功能。 (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()