소스코드 분석 vs 언어 공부, 현업 흐름이 중요

소스코드 분석을 해야 하는데, 프로그래밍 언어를 몰라요. 그럼 프로그램 언어 공부를 먼저 할까요? 아니면 소스코드 분석을 먼저 할까요? 어떤 방법이 좋을까요?


  • 소스코드 구조 파악이 먼저일까요? 
  • 해당 개발 언어 공부가 먼저일까요?


개발자(프로그래머) 상황에 따라 다르지만 저는 함께 한다고 생각합니다. 표현 방법의 차이도 있습니다.


  • 구조 분석해라 = 언어 공부, 소스코드 분석
  • 구조 분석해라 = 소스 코드 이해해라

등등 사람마다 내포한 의미가 다를 수 있어요. 중요한 건, 현직 개발자 일하는 게 다 똑같겠지만, 컴퓨터 언어 공부 한 달, 소스 분석 2달 ... 이렇게 일정 잡는 회사는 없습니다. 당장 일을 시작해야 회사에선 프로그래머 인건비 손해 안 보고, 되려 돈을 벌거든요. 돈을 벌어야 직원들 월급을 주고, 나라에 세금도 냅니다.


※ 그래서 신입 프로그래머들이 취업하기 힘든 시기죠. 경력자만 선호하니 ...




소스코드 분석 vs 프로그래밍 언어 공부 논란은 실상 의미 없습니다.


소스코드 분석 vs 언어 공부, 현업 흐름이 중요[프로그래머 컴퓨터 언어 코딩 방법]


저는 요즘 글로벌 어학원에서 일본어 공부하고 있습니다.


예를 들어보죠.


A: ゴミばこはどこにありますか.

B: 机の下にいます. ( つくえのしたにいます)


A: 쓰레기통은 어디에 있습니까?

B: 책상 밑에 있습니다.


프로그램 구조 파악 먼저냐, 언어가 먼저냐는 일본어 공부할 때 단어가 먼저냐, 문법이 먼저냐 고민하는 것입니다. 저런 예문 하나를 보더라도 문법, 단어 함께 봐야 해요.


  • 문법을 먼저 공부한다고 단어가 외워지는 게 아니고,
  • 단어를 먼저 외운다고 문법 공부가 되는 것도 아닙니다.

문법, 단어를 함께 보며 둘 다 외워야죠. 다 해야죠.


프로그래머에게 소스코드 분석 vs 언어 공부도 마찬가지입니다.




다양한 컴퓨터 언어 종률 중에서 파이썬(Python)엔 컴프리헨션이란 문법이 있습니다. 프로그램 소스코드 분석 중 컴프리헨션을 처음 접하면 당장 문법 사용 예제, 현 프로그램에 사용된 방식을 공부합니다. 필요하다면 컴프리헨션 예제도 작게나마 만들어 보며, 이해해야 합니다.


근데, 이건 현업 흐름을 모두 파악한 이후에 할 일입니다. 개발자가 말하는 소스코드 분석에는 고객, 현업, 현장 등 프로그램 적용 분야에 대한 이해가 포함됩니다.


소스코드를 보기 전에 프로그램 언어, 수정 이력, 프로젝트 구조, 산출물, 최근 이슈 등을 보며 현업 요구사항을 먼저 파악해야 합니다. 소스코드 분석 또는 프로그램 구조 파악은 프로그램 사용자 관점(눈높이)에서 프로그램을 사용하는 것으로 시작합니다.



소스코드 분석 프로그래밍 언어[프로그래머 컴퓨터 언어 코딩 방법]



가령, 극장 키오스크 프로젝트에 참여한 프로그래머는 사용자 눈높이에서 키오스크 사용 방법을 숙지해야죠. 소스코드는 그다음에 보는 겁니다. 사용자 눈높이를 알고 소스코드를 보는 게 프로젝트 참여도를 높이는 일입니다.


결국,


프로그램 사용 방법 -> 운영 이슈 -> 왜? 어디에? 누가? 쓰는지 이해 -> 개발 환경 이해 -> 주요 비즈니스 로직 파악 -> 소스코드 분석 (예를 들어 키오스크라면, 결제 루틴 먼저 보기)


대략 이런 순서가 옳습니다. 소스코드는 제일 나중에 하는 겁니다. 이땐, 문법, 언어 함께 봐야죠. 핵심 로직을 보면서 여러 점들을 하나씩 이어가다보면 전체 프로그램 소스 파악이 될 겁니다.




프로그래머 소스코드 분석 읽기[프로그래머 컴퓨터 언어 코딩 방법]

그래도 언어 수준에서 이해하기 힘들다면, 공부 시간을 따로 가져가는 것도 좋아요.


저도 일본어 문법 공부할 때 모르는 단어가 나와서 일단 단어를 외우고 문법을 보거든요.


객체지향 언어가 익숙하지 않은 개발자라면 클래스, 상속, 버추얼, 인터페이스 등 공부를 하세요. 유사한 언어를 알고 모르고에 따라 소스코드 분석하는 시간에 차이가 날 순 있어요. 이건 개인차가 심해 장담은 못 하지만요. 그렇게 공부하고 먼저 비즈니스 로직을 보는 거죠.


  • 기초 공부만 하고 상세한 응용 예제는 실제 소스코드를 보면서 눈으로 익히기 시작합니다.
  • 내가 원하는 부분에 내가 찾던 로직이 보이기 시작하는 게 소스코드 분석의 첫걸음입니다.


마지막으로, 개인차가 있지만,


  • 컴퓨터 언어를 너무 모르겠다면 언어 기초 공부
  • 소스코드 분석이 프로그래밍 언어 공부 중 하나
  • 소스코드 분석과 언어 공부는 언제나 함께한다


이 정도로 기억해 주시면 되겠습니다.



추가 글


컴퓨터 언어 코딩[프로그래머 컴퓨터 언어 코딩 방법]


근데, 이것도 소스코드 읽기 / 작성 훈련이 된 프로그래머에게 해당합니다. 평생을 혼자 일해온 사람에게 남의 소스코드 읽기를 기대하긴 힘들죠. 컴퓨터 프로그래밍 언어가 다양한만큼 소스코드 읽기 방법, 노하우가 다릅니다. 교류가 없었던 사람들 문제점이죠.



관련 글


C언어 공부, 프로그래밍 독학하면 프로그래머 될 수 있을까?


MFC 공부를 시작하려는 분들께, C++ WinAPI 기초


VC++ (Visual C++) 툴 및 언어 공부로 고민하는 웹 개발자



ⓒ written by yowon009


댓글

Designed by JB FACTORY