본문 바로가기

프로그래밍 기법

(3)
Clean Code Clean Code의 목표 유지보수성이 높은 SW를 만든다. Clean Code의 공통적인 특징 사람이 읽고 이해하기 쉽다. 단순한 한 가지 역할을 하고, 명확한 이름(표현)을 갖고 있다. 중복이 없다. 테스트 케이스가 있다. 이해하기 쉽고, 변경하기 쉬운 코드. Clean Naming Clean Naming 우리는 개발의 약 75%의 시간을 코드를 읽고 이해하는데 사용한다. 변수, 상수, 함수, 클래스, 파일 등 SW의 주요 요소는 이름을 가진다. 좋은 이름은 내부를 들여다보지 않아도 동작과 목적을 쉽게 이해할수 있다. 좋은 이름을 사용하면 코드를 읽는 사람의 인지적 부하를 최소화 가능하다. Clean Naming을 만들려면? Funtion, Class 역할이 명확하면 Naming도 명확해진다. 불필요..
SOLID 원칙 객체지향을 설계하면서 가장 유명한 말인 SOLID 원칙에 대해 알아보자. 과연 SOLID 원칙이란 무엇일까? 객체지향 5대 원칙(SOLID) SRP(Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Priciple): 개방 폐쇄 원칙 LSP(Listov Substitution Priciple): 리스코프 치환 원칙 ISP(Interface Segregation Principle): 인터페이스 분리 원칙 DIP(Dependency Inversion Principle): 의존 역전 원칙 1. SRP(Single Responsibility Principle) - 단일 책임원칙 클린 코드의 마틴 로버트 C.마틴은 '어떤 클래스를 변경해야 하는 이유는 오직 ..
캡슐화란? OOP에는 상속, 다형성, 캡슐화등 다양한 기법들이 존재한다. 그중 귀에 못미 박히도록 듣는 캡슐화에 대해서 알아보자. 캡슐화 객체의 속성(data fields)과 행위(메서드, methods)를 하나로 묶고, 실제 구현 내용 일부를 외부에 감추어 은닉하는 걸 의미한다. 그렇다면 캡슐화는 왜 중요할까? 결론적으로 말하자면, 코드의 중복과 외부 변화에 대해 유연성과 확장성을 보장해주기 때문에 그렇다. 또한 객체에 직접 접근하는걸 방자함으로써, 예상치 못한 상황을 줄여준다. 하나의 예를 들어보자. public class GoodStore { private int goodAmount; } public void purchaseGood() { GoodStore goodStore = new GoodStore(); ..