본문 바로가기

이야기/방법론

(4)
준용할 수 있는 변수명을 사용하기 프로젝트를 진행하면서 새로운 변수 작명 방법에 대한 이야기를 들었다. 기존에는 최대한 해당 변수를 명확하게 설명하려고 풀어쓰는 편이었다. 하지만 내부적으로 사용하는 고유단어가 많은 환경에서는 이런 방식은 독이 된다고 한다. 즉, 프로그램을 외부의 누군가를 위해서 만드는 것이 아니라 회사 내부에서 사용하려고 할 때 이런 경우가 발생한다. 전문성이 있는 경우가 특히 그렇다. 예를 들어서, 의료 관련 프로그램을 만든다고 해보자. 의학 용어는 어떤 단어가 무슨 뜻이라고 명확하게 정의가 되어 있다. 우리가 생각하듯 대충 감기, 몸살 이런 식으로 포괄적으로 표기할 수 있는 방식을 사용하지 않는 것이다. 해당 상황에 맞는 명확하고, 이미 결정된 단어를 사용해야만 하는 것이다. 구구절절 상황을 풀어쓰고 and, or를..
체계적인 코드 네이밍의 장단점과 요약 가독성만을 위한 코드네임을 짓는 것이 아니라, 보안까지 신경쓰면서, 대규모 인원이 공통적인 작명법을 짓게 하려면 체계적인 코드 분류 방법이 필수적이다. 체계적인 코드 네임 작명법을 규정한다면 장점은 다음과 같다. 누가 작성해도 균일한 코드 네임을 산출한다. 코드를 보지 않고도 규칙에 의거하여 내용물을 유추할 수 있다. 규칙에 의한 관리가 가능해져서 하나의 업무로 분류할 수 있다. 반면에, 단점도 분명하게 존재한다. 단어만 보면 아무런 의미가 없으므로 이해하기 힘들다. 관계자도 분류표를 확인하며 읽지 않는 이상 이해할 수 없다. 코드 체계가 변경되어야 한다면 기존에 작성한 코드를 마이그레이션하는 것이 큰 비용으로 다가온다. 즉, 간단하게 이야기하자면 이것이다. 소수의 관리자가 대규모 인원을 관리해야 할 때..
프로그래밍 패러다임 개발자의 입장에서 바라봤을 때, 어떤 방식으로 프로그램을 구현해야 할까? 이걸 프로그래밍 패러다임이라고 표현함. 사용하던 구현 방식의 단점을 극복, 보완하기 위한 순서임. 절차 지향 → 객체 지향 → 함수형 과정에 집중하느냐, 결과에 집중하느냐 따라서 두 분류로 나뉨. 1. 명령형 프로그래밍 절차지향 프로그래밍 : 절차의 연속 객체지향 프로그래밍 : 객체 + 객체 2. 선언형 프로그래밍 함수형 프로그래밍 : 순수함수 + 일급객체 비교를 하자면... 명령형 : 구현을 위한 알고리즘을 명시하되 목표는 명시하지 않음. (How) 명령형 : 프로그램은 명령의 수행이며, 어떻게 구현하는지 그것이 중요하다. 선언형 : 목표만 명시하고 알고리즘은 명시하지 않음. (What) 선언형 : 프로그램은 함수의 계산이며, 무..
방법론이 뭐지? 방법론이 뭐지? 주어진 목표를 달성하기 위한 어느 정도 확실한 결과가 보장된 절차를 뜻한다고 보면 된다. 단, 전문적인 용어로 보자면 방법 자체에 대한 심도 깊은 논의를 방법론이라고 한다. 일반적으로 접하는 문제 해결을 위한 방법론은 개별적 방법론의 메타 이론이라고 인식하는 것이 좋다. 방법론 > 개별적 방법론 > 우리가 접하는 다양한 방법론 방법론을 왜 알아야 해? 방법론은 문제를 해결하여 답에 도달할 수 있는 길을 제시한다. 1. 무엇을 2. 어떻게 구체적으로 두 가지 요소를 제시하는 것이 방법론의 목표다. 이렇게 과정이 확실하게 된다면 다음과 같은 장점이 있다. 1. 프로젝트 관리가 가능해짐 2. 고객의 다양한 요구를 개발 가능한 틀에 맞춰서 해석할 수 있다 3. 사용자와 개발자 간 원활한 의사소통..