목록소프트웨어 공학 (6)
규도자 개발 블로그
쿼리로 구할 수 있는 데이터는 따로 데이터베이스에 넣지 않는 것이 좋다. 그 데이터를 복잡한 연산에 자주 사용하는 것이 아니라면 말이다. 예를 들어 여러 플랫폼에서 흔하게 볼 수 있는 추천인 시스템을 구현한다고 했을 때, 해당 회원에 종속돼야할 정보는 해당 회원에게 발급된 추천인 코드와 해당 회원이 가입할 때 입력하였던 추천인코드, 이 두 개면 시스템을 구성하는 데는 충분하다. 하지만 만약, 해당 회원에게 종속된 데이터에 부가적인 정보, 예를 들어 해당 회원을 추천한 회원들의 목록, 추천한 회원들의 숫자 등의 정보가 부가적으로 존재할 뿐더러 이 정보를 실제 서비스플로우에서 사용하게 되는 경우라면... 갑자기 머리가 아파진다. 특정 회원을 추천한 회원들의 목록은 쿼리로 구할 수 있다. 그 회원들의 숫자 또..
이 게시물은 스티브 맥코넬이 쓴 CODE COMPLETE2에 나온 내용이며 다른 사람들에게도 변수 이름의 중요성과 그 이름을 정하는 데 도움을 주기 위해, 그리고 나 자신도 필요할 때마다 참고하기 위해 쓴다는 것을 알린다. 피해야 할 변수 이름 다음은 피해야 할 변수 이름에 대한 몇 가지 가이드라인이다. 오해의 소지가 있는 이름이나 축약어를 피한다. 이름이 모호하지 않은지 확인한다. 예를 들면 FALSE는 일반적으로 TRUE의 반대말이며 "Fig and Almond Season"에 대한 축약어로는 좋지 않을 것이다. 유사한 의미가 있는 이름을 피한다. 프로그램에 해를 주지 않고 두 변수의 이름을 교환할 수 있다면 이름을 다시 만들 필요가 있다. 예를 들면 input과 inputValue, recordNu..
이 게시물은 스티브 맥코넬이 쓴 CODE COMPLETE2에 나온 내용이며 다른 사람들에게도 변수 이름의 중요성과 그 이름을 정하는 데 도움을 주기 위해, 그리고 나 자신도 필요할 때마다 참고하기 위해 쓴다는 것을 알린다. 표준 접두사의 장점 표준 접두사는 이름 규약이 갖는 일반적인 장점을 모두 제공할 뿐만 아니라 다른 장점도 제공한다. 매우 많은 이름이 표준화되어 있기 때문에 단일 프로그램이나 클래스에서 기억해야 하는 이름이 적어진다. 표준 접두사는 모호해지기 쉬운 이름 영역을 정확하게 만든다. min과 first, last, max사이의 정확한 구분은 특히 도움이 된다. 표준 접두사는 이름을 더욱 간결하게 만든다. 예를 들면 단락의 수를 나타내기 위해서 totalParagraphs대신 cpa를 사용할..
이 게시물은 스티브 맥코넬이 쓴 CODE COMPLETE2에 나온 내용이며 다른 사람들에게도 변수 이름의 중요성과 그 이름을 정하는 데 도움을 주기 위해, 그리고 나 자신도 필요할 때마다 참고하기 위해 쓴다는 것을 알린다. 상수 이름 상수 이름은 상수가 가리키는 숫자보다는 상수가 표현하는 추상적인 대상을 나타내야 한다. FIVE는 상수의 이름으로는 나쁜 이름이다(상수가 표현하고 있는 값이 5.0이든 아니든 상관없이). CYCLES_NEEDED는 좋은 이름이다. CYCLES_NEEDED는 5.0일 수도 있고 6.0일 수도 있다. FIVE = 6.0은 말도 안 된다. 마찬가지로 BAKERS_DOZEN은 잘못 지은 상수 이름이며 DONUTS_MAX는 좋은 상수 이름이다.
전의 게시물에서도 밝혔다시피 이 게시물은 스티브 맥코넬이 쓴 CODE COMPLETE2에 나온 내용이며 다른 사람들에게도 변수 이름의 중요성과 그 이름을 정하는 데 도움을 주기 위해, 그리고 나 자신도 필요할 때마다 참고하기 위해 쓴다는 것을 알린다. 임시 변수 이름 임시 변수는 계산의 중간 결과를 보관하기 위한 임시 저장소로 사용되고 보조 수단으로 사용하는 값을 보관하는 데 사용된다. 대개는 temp나 x, 그 밖의 모호하고 이해하기 어려운 이름을 갖는다. 일반적으로 임시 변수는 개발자가 문제를 완벽하게 이해하지 못하고 있다는 신호다. 게다가 변수가 공식적으로 "임시"상태이기 때문에 개발자는 임시 변수를 다른 변수보다 별생각 없이 다루게 되어 오류가 발생할 가능성이 커진다. 임시 변수를 조심하라. 변수..
좋은 변수 이름 정하기 내가 코드를 작성할 때 중요하게 생각하는 것이 있다. 정확성은 프로그램이 가져야할 필수요소이고 애초에 정확성이 없다면 프로그램으로서의 가치가 없으므로 딱히 강조하지 않겠다. 그밖에 중요하게 생각하는 건 바로 간결성과 가독성이다. 그 중에서도 특히 중요한 건 가독성이라고 생각한다. 코드는 결국 사람이 읽기 때문이다. 코드는 결국 다시 읽힌다. 그사람은 당신의 팀원일 수도, 또 당신 자신일 수도 있다. 만약 옛날에 무아지경으로 마구마구 작성해놓은 코드가 다시 필요하다고 할 때 마구잡이로 조사놓은 변수이름들과 코드를 보면 어떤 느낌일까. 예전의 당신이 원망스러워질 것이다. 나는 이러한 경험을 몇 번 겪고 나서 나만의 일정한 규칙을 정해서 변수를 작성하기 시작했다. 그 이후로는 다른 클래..