Untitled

코드의 냄새와 중복을 없애 추상화를 잘 할 수 있는 리팩토링

Untitled

마케팅팀과 협의해야 하는 개발팀

마케팅팀의 요구사항들이 필드만 다를 뿐 비슷

추상화 벽이 마케팅팀으로 하여금 데이터 구조에 직접 접근하지 못하도록 막는다. 따라서 개발팀이 직접 추상화벽에다가 인터페이스로 사용할 수 있는 함수들을 만들어줘야 함

코드의 냄새: 함수 이름에 있는 암묵적 인자

개발팀에서 함수를 만들었는데 함수들이 다 비슷함

function setPriceByName(cart, name, price) {
    var item = cart[item];
    var newItem = objectSet(item, 'price', price);
    var newCart = objectSet(item, name, newItem);
    return newCart;
}
function setQuantityByName(cart, name, quant) {
    //...
    var newItem = objectSet(item, 'quantity', quant);
    //...
}
function setShippingByName(cart, name, shipping) {
    //...
    var newItem = objectSet(item, 'shipping', shipping);
    //...
}
function setTaxByName(cart, name, tax) {
    //...
    var newItem = objectSet(item, 'tax', tax);
    //...
}

코드 스멜

함수 이름에 있는 암묵적 인자implicit argument in function name는