2015년 6월 17일 수요일

C/C++ , 좋은 프로그래밍 - 들어가며

좋은 프로그래밍에 대한 기준은 너무나 많다. 그러나 주관적인 관점에서 몇 가지 핵심적인 것만 축약한다면 몇가지로 나타낼 수 있다.

1. 협업을 쉽게 할 수 있는 구조이어야 한다.
2. 버그 추적을 쉽게할 수 있고 구조적으로 버그의 가능성을 줄여야 한다.
3. 유지 보수가 쉬워야 한다.
4. 재사용 가능한 코드를 모아서 관리해야 한다.

4가지 정도가 적당해 보인다.
사실, 기초적인 프로그래밍 지식과 API에 대한 숙지가 되어 있다면 결과물은 어떻게든 나오게 되어 있다.  C++의 개체지향 구조는 C로 바꾸어 만들 수 있고, C의 결과는 어셈블러로 바꾸어 표현할 수 있다. 왜 고급 언어를 쓰고 더 복잡한 프로그래밍 문법을 쓸까? 답은 단순하다 더 좋은 프로그램 결과를 더 짧은 시간에 더 효율적으로 만들기 위해서다.

지금부터는 지금까지 경험했던 여러가지 코드들 중 몇개를 골라서 소개할 것이다. 물론 주관적이기 때문에 다 동의하지 못할 수도 있다. 그러나 분명히 좋은 참고는 되리라 본다.

가장 먼저 템플릿을 설명할 것이다. 템플릿은 개발자라면 누구나 알고 있는 문법이지만 실제로 잘 활용하지 못하는 것 같다. 더구나 이미 개발된 좋은 템플릿 코드들도 쓰지 않는 개발자가 많다. 몇가지 예를 들며서 그 활용방안을 이야기 하자.
그리고 모듈화에 대하여 설명할 것이다. 모듈화라면 모두들 이미 알고 있겠지만 실제로 실천하는 개발자 역시 드물다. 여기서는 모듈화를 실제로 활용하면 왜 좋은지 설명하면서 몇년간 개발 하면서 만든 모듈화 관련 코드를 소개하겠다.
다음으로 Managed C++에 대해 소개하겠다. MS가 .NET을 소개하면서 만든, .NET용 C++이다. 최근의 Windows phone 및 windows 8이후의 APP 프로그램은 .NET C# 혹은 Visual basic, Managed C++을 이용해야 한다.

마지막으로 위의 것들을 종합해서 만든 개인 라이브러리 중 몇가지를 소개하겠다.

C++ 기준 설명이다.

댓글 없음: