Javascript 重构代码-处理代码的一般方法

Javascript 重构代码-处理代码的一般方法,javascript,algorithm,language-agnostic,refactoring,Javascript,Algorithm,Language Agnostic,Refactoring,我有一个代码,它有一个执行每个循环的start()函数。我在其中到处调用pause()函数 我现在必须更聪明地调用pause(),这取决于某些条件。在某些地方,它是在其他地方不需要的条件下执行的 我知道我现在必须创建一个单独的函数来调用pause()函数。但这是我所能做到的。感觉像个迷宫,我迷路了 编写此代码的最佳方法是什么?职业选手是怎么做到的 更新: 我已经添加了我的代码。基本上,我希望我的pauseActivator执行多个操作 充当条件测试仪,返回true或false 实际调用暂停函数

我有一个代码,它有一个执行每个循环的
start()
函数。我在其中到处调用
pause()
函数

我现在必须更聪明地调用
pause()
,这取决于某些条件。在某些地方,它是在其他地方不需要的条件下执行的

我知道我现在必须创建一个单独的函数来调用
pause()
函数。但这是我所能做到的。感觉像个迷宫,我迷路了

编写此代码的最佳方法是什么?职业选手是怎么做到的

更新:

我已经添加了我的代码。基本上,我希望我的
pauseActivator
执行多个操作

  • 充当条件测试仪,返回true或false

  • 实际调用暂停函数

  • 也许我不应该让我的职能部门这么做

    void doPause() {
       //call system default pause function()
    }
    
    bool pauseOn = true;
    string myPauseTime = "02:30";
    bool pauseTimeReached = false;
    
    bool pauseActivator() {
        if(pauseOn && systemTime() == myPauseTime){
            pauseTimeReached = true;
            doPause();
        } 
        return (pauseTimeReached);  
    }
    
    int start() {
        if(maxMovement > 500 && pauseActivator()) {
            if(maxA() && secondMovement==600) {
                pauseActivator();
            }
        }
        return(0);
    }
    

    我建议您使用DoPause进行暂停,并使用一个函数返回暂停状态。如果测试函数具有“隐藏”的副作用,即实际暂停,则可能会导致后续问题。

    C++、Java和JavaScript是非常不同的语言。我真诚地怀疑您是否使用了这三种方法。使用IDE(重构:提取方法)我的问题不依赖于编程语言。这是一个非常普遍的问题,我在“更新”之后添加了代码,我知道函数应该只执行一个任务。但是,我想将这两个操作捆绑在一起,因此我的代码在编程上集中到一个函数中。