본문 바로가기
[실용주의 프로그래머] 메타 프로그래밍 [실용주의 프로그래머] 메타 프로그래밍 -아무리 뛰어난 천재라도 세부사항에 집착하면 그 재능이 발휘되지 않는 법이다. - 레비의 8번째 법칙 -세부사항은 우리의 깔끔한 코드를 어질러 놓는다.특히 변화가 잦을 때는 더욱 그러하다. -세부사항을 코드에서 몰아내라.이렇게 함으로써 우리의 코드는 매우 설정 가능(configurable)하게 되고 ‘소프트’해진다.즉, 변화에 쉽게 적응할 수 있게 되는 것이다. 동적 설정 -시스템을 되도록 설정가능하게 만들어야 한다.배경 색, 프롬프트 텍스트 뿐 아니라 알고리즘의 선택, 사용할 데이터베이스 제품, 미들웨어 기술, 사용자 인터페이스 스타일 등 시스템의 심층까지 말이다.이런 아이템들은 통합하거나 엔지니어링하지 말고 설정 옵션으로 구현해야 한다. -통합하지 말고 설정하라.. 2018. 10. 30.
[실용주의 프로그래머] 도메인 언어 [실용주의 프로그래머] 도메인 언어 -언어의 한계가 곧 자기 세계의 한계다 - 루트비히 비트겐슈타인 -컴퓨터 언어는 여러분이 문제에 대해 생각하는 방식과 의사소통에 대해서 생각하는 방식에 영향을 미친다. 모든 언어에는 그 언어의 특징들의 목록이 딸려온다.특징들은 모두 어떤 해결 방안들을 제시할 수도 있지만 가려버리기도 한다. -우리는 언제나 앱 도메인의 어휘를 사용해서 코드를 작성하려고 노력한다.몇몇 경우, 한 차원 더 나아가서 실제로 그 도메인의 어휘, 문법, 의미론(즉 언어)을 사용해서 프로그래밍하는 일이 가능할 때도 있다. -사용자들이 정리가 잘 된 진술을 많이 해준다면, 여러분은 그들이 원하는 내용을 정확히 표현하는, 그 앱 도메인에 맞추어진 소형 언어(mini-language)를 만들 수 있다... 2018. 10. 15.
반응형