2012-04-17 3 views
0

만족스러운 답변을 찾을 수 없으므로 여기에 질문이 있습니다.데스크탑 <--> 모바일 코드 공유 [Javascript]

HTML5-Websocket 기반 응용 프로그램을 개발 중이며 모바일에도 이식 할 예정입니다.

문제는 2/3의 기능이 모바일 버전에 없으며 기능이 JS와 함께 HTML에 긴밀하게 통합되어 있다는 것입니다.

1/3 기능을 우아하게 분리 할 수 ​​있으면 DRY 상태가됩니다. 그러나 나는 이것을위한 쉬운 해결책을 찾을 수 없었다.

예를 들어 노드에서 사용자 개체를 가져 와서 함수에서 처리하는 기능이 있습니다. 모바일의 경우 동일한 흐름이 필요하지만 흐름의 2/3은 제외됩니다. 다른 기능을 만들어 다른 파일에 넣을 수는 있지만, 단순한 기능조차도 수십 개의 추가 기능을 만들어야하기 때문에 유지 관리의 어려움이 따를 것입니다.

이 작업을 수행하기위한 좋은 프레임 워크 나 방법이 있습니까?

답변

0

나는이 상황에 대해 비범 한 접근법을 권장합니다. 표면 상으로는 코드를 복제 할 것이기 때문에 유지 보수의 악몽이 될 것이라고 생각하지만, 공유 코드가 너무 많이 처리되지 않도록 유지 보수의 악몽이 더 깊어 질 수 있습니다. 이 경우 코드 추상화 및 격리가 진행될 수 있으며 품질 보증을 가속화합니다.

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 
} 

이 될 것입니다 : 당신이 DoAllTheThings 전화

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 
} 

그리고위한 데스크톱 브라우저 ()하지만 모바일 용으로는 FribbleTheThing() 만 호출하면됩니다

관련 문제