개요

데이터가 어떻게 수정되는지 추적하는 일이 코드 파악에서 어려분 부분 하나다

 

특히 같은 데이터를 읽고 수정하는 곳이 여러 곳이라면 스크롤을 마구잡이로 이동하면서 봐야한다.

이런 이유로 데이터가 수정된 사실을 명확히 알리는 것은 중요하다.

수정 사실을 알리는 가장 좋은 것은 반환값으로 수정 대상 변수에 다시 담는 것이다.

코드 상으로도 수정된다는 사실이 명확해진다.

 

예시



let totalAscent = 0;
let totalTime = 0;
let totalDistance = 0;
calculateAscent();
calculateTime();
calculateDistance();
const pace = totalTime / 60 / totalDistance;
function calculateAscent(){
    for(let i = 1; i<ProcessingInstruction.length;i++){
        const verticalChange = points[i].elevation - points[i-1].elevation;
        totalAscent += (verticalChange>0) ? verticalChange : 0;
    }
}
totalAscent 갱신된다는 사실이 명확하지 않다.


let totalAscent = 0;
let totalTime = 0;
let totalDistance = 0;
totalAscent = calculateAscent();
calculateTime();
calculateDistance();
const pace = totalTime / 60 / totalDistance;
//값을 반환하도록 수정
function calculateAscent(){
    for(let i = 1; i<ProcessingInstruction.length;i++){
        const verticalChange = points[i].elevation - points[i-1].elevation;
        totalAscent += (verticalChange>0) ? verticalChange : 0;
    }
    return totalAscent;
}


function calculateAscent(){
    let totalAscent  = 0; //반환할 변수 선언
    for(let i = 1; i<ProcessingInstruction.length;i++){
        const verticalChange = points[i].elevation - points[i-1].elevation;
        totalAscent += (verticalChange>0) ? verticalChange : 0;
    }
    return totalAscent;
}


function calculateAscent(){
    let result  = 0; //적절한 이름으로 변경
    for(let i = 1; i<ProcessingInstruction.length;i++){
        const verticalChange = points[i].elevation - points[i-1].elevation;
        result += (verticalChange>0) ? verticalChange : 0;
    }
    return result;
}


const totalAscent = calculateAscent();
let totalTime = 0;
let totalDistance = 0;
calculateTime();
calculateDistance();
const pace = totalTime / 60 / totalDistance;
function calculateAscent(){
    let result  = 0; //적절한 이름으로 변경
    for(let i = 1; i<ProcessingInstruction.length;i++){
        const verticalChange = points[i].elevation - points[i-1].elevation;
        result += (verticalChange>0) ? verticalChange : 0;
    }
    return result;
}

const totalAscent = calculateAscent();
const totalTime = calculateTime();
const totalDistance = calculateDistance();
const pace = totalTime / 60 / totalDistance;

 

 

+ Recent posts