2012-04-17 30 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()