Software Lab

중복 사용되는 코드 묶기 본문

코드 리펙토링

중복 사용되는 코드 묶기

아임코더 2022. 7. 5. 10:36
updateContent(user, content){

    if(user.login() == false)
        return
    if(user.getID() != content.getUserID())
        if(user.isAdmin() == false)
            return
            
     ...
     ...
}


deleteContent(user, content){

    if(user.login() == false)
        return
    if(user.getID() != content.getUserID())
        if(user.isAdmin() == false)
            return

     ...
     ...
}

<개선 전>

 

hasContentWriteAuthority(user, content){

    if(user.login() == false)
        return false
    if(user.getID() != content.getUserID())
        if(user.isAdmin() == false)
            return false
    
    return true
}


updateContent(user, content){

    if(hasContentWriteAuthority(user, content) == false)
        return
            
     ...
     ...
}


deleteContent(user, content){

    if(hasContentWriteAuthority(user, content) == false)
        return

     ...
     ...
}

<개선 후>

 

 

코드들이 여러 함수에서 중복해서 사용되고 있다면, 그 코드들을 하나의 함수로 묶어서 사용한다.

'코드 리펙토링' 카테고리의 다른 글

추상화  (0) 2022.07.05
상속 위반  (0) 2022.07.04
var, let, const 차이  (0) 2022.07.04
회전  (0) 2022.07.01
변수가 사용되는 함수 개수 줄이기  (0) 2022.07.01
Comments