일명 변, 균, 통.
3D와 사진술 에서 말하는 장면 구성의 3요소는 [ 대상(피사체), 조명, 시점(카메라) ] 이다.
세 가지 요소들을 기억하고 코딩하렴.
[변화]가 없는 코드는 정보량이 적고, 정보량이 적다는건 줄여 나갈 가능성이 있다.
함축적 모호성의 방향이 아니라, 요약적 명시성의 방향으로 진행할 때의 이야기.
같은 일을 한다면, 짧은 코드가 유지보수가 쉽다. 만고불변의 법칙이다.
게다가 적절히 자신만의 논리적 해법을 평이하지 않은 문법으로 표현한다면, 재미도 있다.
밋밋한 코딩만 하면 땔감이기 딱 좋다. 자기 동기 부여도 부족해지고 말야.
글 못쓰는 애들의 특징이 그렇잖아. 동어 반복. 어미와 조사들이 아주 단순화 되어 있지.
그 미세한 차이들을 알고 잘 다루는 아이들의 글은 지겹지 않다.
그나마 다행하게도 우리의 컴파일러와 CPU는 그런 단조로움들을 싫어하는 기색은 아니다.
하루 종일 0과 1만 갖고 노는 애들이니. 하지만 우린 사람이잖아?
[균형]이 없는 코드는 모듈화가 덜 된 코드다.
하나의 함수가 장황하게 길다는것 역시 명시성이 떨어진다.
덩어리 코드 하나를 함수 하나로 묶어서 밖으로 빼주면
짧아진 메인 바디만 읽어도 안에서 호출되는 함수의 이름들을 통해 흐름을 알 수 있는데,
세부 코드를 모조리 다 읽게 만드는건 고문.
즉 함수의 가치는 기능의 덩어리이며 요약이 가능한 양식이다.
수없이 루프를 돌아야 하는 작은 코드를 함수화 하는건 비용이 비싸지만,
(이럴 때의 대안이 #define 매크로 함수)
큰 덩어리 하나 함수로 빼는데 드는 비용은 고작 4~6 클럭.
[통일]이 없는 코드는, 규칙성이 없어 명시적이지 않다.
수많은 같은 값의 숫자 상수들이 쓰일때, 우리는 숫자 상수 하나 하나의 의미를 파악해야 한다.
당연히 단어와 문장으로 의미를 설명하도록 매크로나 const 로 정의해 주는게 좋다.
경험있는 프로그래머는 안다.
반복 횟수니, 매개 수치와 같은 파라메터들은 결국 변수가 될 가능성이 높다는걸 말야.
const 형의 표현은 그런 상수의 변수화를 용이하게 한다.
변수로 유지하는 것 보다는 상수로 유지하는쪽이 컴파일러가 최적화 할 가능성을 높여주니,
굳이 변수를 고집할 필요는 없다. const 가 가장 좋은 대안.
띄어쓰기, 개행, 들여쓰기 등의 규칙을 일관성 있게 유지하는 것도 명시성에 큰 도움을 준다.
오타가 한 눈에 보이고, 논리적 규칙성이 보이며, 필요없는 nesting 을 쉽사리 감지하게 해 준다.
유-익
개념글 추천
짧다고 좋은게 아니여~ 간결한게 좋은거지~ 간결한 코드는 대체로 코드량이 적지만 꼭 그렇지 않음. 유연성을 확보하려면 반드시 코드량은 늘어난다. 더 많은 일을 하려면 당연히 더 많은 코드가 필요한 법.
함축적 모호성의 방향이 아니라, 요약적 명시성의 방향으로 진행할 때의 이야기. <-------
유연성 확보를 위한 코드의 추가는 간결성을 위한 함축보다 더 조심스럽게 다뤄야 할 주제다. 쓰레기 더미 만들기 딱 좋거든.
제아무리 짧게 잘 끊어서 구현을 해놓더라도 유지보수 몇 번 하다보면 반드시 코드는 누더기가 될 가능성이 높아지지. 여기에 A라는 사람이 만들고 나간 후 B라는 사람이 들어와서 손보면 그 정도는 더 심해짐. A가 의도 P를 가지고 코드 C를 만들어놓았을 때 B가 C를 보고 P를 제대로 유추하는건 거의 불가능함. 잡음이 낀다는 것.
그러니까 말야. 최대한 가볍게 가는게 재사용성이 높아. 조금만 무거워지면 그때부터 못 씀.
http://autogram.tk/이
중고차 어플리케이션 어떤가요?