단일 책임 객체가 많아지면 큰 그림을 이해하기 어려울까?

코드를 여러 개의 파일로 분리하면 객체간 관계가 복잡하게 얽혀 코드를 더 복잡하게 만든다고 주장하는 사람을 만나면 당황스럽다. 엉클 밥은 본인이 쓴 클린 코드라는 책에서 단일 책임 클래스로 분리해야하는 이유를 아래와...

정말 소프트웨어는 '겉에서 보기에 잘 돌아가면 그만'일까?

소프트웨어는 '겉에서 보기에 잘 돌아가면 그만'이라고 말하는 사람을 종종 본다. 이러한 주장에는 소프트웨어의 내부 품질은 별로 중요하지 않다는 생각이 깔려있다. 나는 여기에 공감하지 않는다. 겉에서 보기에 잘 돌아간다는 것은 지금...

AJAX & CORS Overview

Ajax의 역사 1990년대까지 웹 애플리케이션은 사용자가 서버로 요청을 보내면, 서버가 비지니스 로직을 처리한 후 새로운 웹 페이지를 만들어 클라이언트로 전송하는 방식이었다. 일부 데이터만 갱신하고 싶어도 페이지 전체를 받아와야하기 때문에 낭비가...

도전! JavaScript TDD – 3. 점진적 명세 작성

이전 시간에는 자판기에 재고 기능을 추가하면서 “TDD 리듬”에 대해서 이야기를 했다. 지금까지 만든 테스트 코드는 아래와 같다. $(function() { var oVendingMachine = null; module('VendingMachine', { setup : function(){ oVendingMachine =...

도전! JavaScript TDD – 2. TDD 리듬

우선 이야기를 시작하기에 앞서, 이전에 작성했던 코드를 다시 한 번 살펴보자. 아래는 모델 코드다. 모델 코드는 테스트 코드에 대응하는 실제 구현 코드를 말한다. function VendingMachine() {}; VendingMachine.prototype = { _htProducts...