코드를 남들이 잘 알아볼 수 있게 짜기

Posted on

프로그래밍은 고급언어로 갈수록 구문의 외형적인 것도 주의 깊게 설계하는게 덕목입니다. 앱 하나를 만들려면 소스코드를 잘 구조화해서 파일로 저장해야하고, 유지보수가 쉽고 문법적인 제한을 넘어서서 유지보수와 성능을 동시에 이룩하는 방법론들을 따라야 합니다. 흔히 말하는 MVC 구조나, 디자인 패턴, 클린 아키텍처 등의 소프트웨어 공학적인 덕목을 지키면 됩니다.

분야는 다양한데 기본 전략은 이렇습니다.

(1) 객체 지향의 이점을 살려라
(2) 덕지덕지 붙이지 말고 논리를 간결하게 표현하라
(3) 유지보수를 염두에 두고 짜라
(4) 구조를 생각하라

이 네 가지 덕목이 언어 종류나 구현하려는 기능의 분류 등의 차이로 각각의 방법론이 제시되었습니다.

요즘은 무엇보다도 객체 지향 방법론을 잘 구현해야 합니다. 가장 기본적인 디자인 패턴부터, 하다못해 들여쓰기 규칙도 잘 지키는 노하우가 있어야 하구요. MVC나 파생된 설계 모형도 지키면 좋고 구문적으로 간결하게 논리를 표현하는 태도가 있으면 좋습니다.

이는 코딩에 임하기전에 자기맘대로 짜기보다 방법론을 각개격파로 배우고 적용해보려는 노력에 비례해서 향상됩니다.

요령은 일단 문법만 기본적으로 안 상태에서 코드를 짜보는 것인데요. 상속과 같은 결합도가 문제가 되는 문법으로 한계가 있음을 알게 되면 디자인 패턴에 대한 필요가 왜 있는지 알게 되듯, 일단 기본 문법 지식만으로 짜보고 판단해두면 방법론 배울때 보탬이 되구요.

이와 병행해서 마음에 드는 소프트웨어 설계 방법론도 배우면 좋습니다.

객체 지향 방법론, MVC, 디자인 패턴, 클린 아키텍처, UML, 리팩토링, 유지 보수가 가능한 코딩 방법

등등의 검색어로 검색해보세요. 프로그래밍 경험이 어느 정도는 있어야 이해가 되구요. 워프도 PHP가 객체 지향을 추천하는 언어라 배우면 보탬이 됩니다.

해설이 조금 후진데 이해는 되시죠?

제가 짠 코드도 복잡하게 되는 경우가 있는데 잘 해놔야죠. 복잡하게 짰다고 해서 상심마세요. 복잡해도 잘 작동한다면 외려 내부 작동을 어느 정도 안다는 것이구요. 다만 가독성 있게 짜는 것부터 실천하고 위에 나열한 방법론을 해설한 이론서보고 코드에 능동적으로 적용하면 됩니다. 처음 접할때 느껴지는 의구심 즉 이 저자가 말하는게 잘 하는 걸까? 와 같은 판단의 기준은 같은 주제를 다룬 책들을 교차참조하면서 소스코드가 제일 간결하고 설명과 이질감이 없는 것을 우선보면서 형태를 외우면 되구요. 이 기반에서 해설력과 응용력을 기를때 떠올려보면 됩니다.

수학 배울때도 기호 표기법 먼저 보고 기호는 널리 쓰이는 것을 쓰면 남들이 알아보기 쉽듯이 프로그래밍도 같구요. 스스로 생각하다가 안되면 해답지보고 이해하고 수식을 외우듯이 프로그래밍 구문도 그렇습니다.

여튼 소프트웨어 공학에서 제시하는 설계 방법론을 빠릿하게 알고 적용하는게 요령입니다.

두서없는 해설이라서 송구스럽지만 일단 이렇습니다.


잘하는 분들이 만든 코드를 수시로 보는 것도 방법입니다. https://github.com 에서 PHP 검색어로 검색해서 찾아보세요. Javascript 검색어로 검색해서 찾아보셔도 좋구요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다