본문 바로가기
프로그래밍 놀이터/Tips

[실용주의 프로그래머] 코드 생성기

by 돼지왕 왕돼지 2018. 10. 23.
반응형

[실용주의 프로그래머] 코드 생성기

[실용주의 프로그래머] 코드 생성기, 능동적 코드 생성기, 수동적 코드 생성기, 코드 생성기, 코드를 작성하는 코드를 작성하라


-

코드를 작성하는 코드를 작성하라.



-

코드 생성기에는 두 가지 유형이 있다.

    수동적 코드 생성기는 결과를 내기 위해 한 번만 실행된다.

    능동적 코드 생성기는 코드 생성이 필요할 때마다 작동한다. 이는 종종 어떤 형태의 스크립트나 컨트롤 파일을 읽어서 결과물을 만들어 낸다.





수동적 코드 생성기


-

수동적 코드 생성기는 기본적으로 몇 개의 입력에서 주어진 출력을 생성하는 매개 변수화된 템플릿이다.



-

수동적 코드 생성기로는 아래와 같은 것을 할 수 있다.


템플릿, 소스코드 제어 지시자, 지적재산권 문구, 기본적으로 들어가는 주석 생성.

프로그래밍 언어간 일회용 변환 수행

런타임에 계산하기엔 비용이 많이 드는 참조 테이블과 여타 자원을 생성.





능동적 코드 생성기


-

수동적 코드 생성기는 단지 편하려고 사용하는 반면, 능동적 코드 생성기는 DRY 원칙을 따르고 싶다면 필수적으로 써야 한다.

어떤 지식을 단 하나의 형태로만 만들어놓고 앱이 필요로 하는 온갖 형식으로 변환할 수 있다.

(ex) 데이터베이스 스키마가 있으면 이 녀석으로 저수준 구조체들을 자동 생성하여, 지식을 한 장소(스키마 정의)에서만 관리하는 형태로 한다.)



-

서로 다른 프로그래밍 언어를 사용하는 경우에도 사용할 수 있다.

서로의 의사소통을 위해 데이터 구조, 메시지 형식, 파일 이름 등등의 모든 코드 기반이 공통으로 가져야 하는 정보가 있어야 한다.

이 정보를 중복시키지 말고 코드 생성기를 사용하면 된다.





코드 생성기가 꼭 복잡할 필요는 없다.


-

보통 가장 복잡한 부분은 입력 파일을 분석하는 일을 하는 파서다.

입력 형식을 단순하게 만들면, 코드 생성기도 단순해진다.





코드 생성기가 꼭 코드를 생성해야할 필요는 없다.


-

HTML, XML, Plain text 등등 원하는 어떤 결과물을 얻고자 할 때에도 코드 생성기를 쓸 수 있다.




반응형

댓글