#CLEAN-CODE

A collection of 7 posts

SOLID 1편 SRP와 OCP cover image
#oop

SOLID 1편 SRP와 OCP

이번 포스팅에서는 객체지향에서 대표적인 원칙이라고 할 수 있는 SOLID원칙에 대해서 알아보고자 한다. 하나의 포스팅에 모든 것을 작성하면 길어질 것 같아, 와 를 먼저 포스팅하고 2편에서 , , 를 설명할 것이다. 1 . SRP : 단일 책임 원…

else 예약어를 쓰지 않는다 cover image
#object-calisthenic

else 예약어를 쓰지 않는다

The ThoughtWorks Anthology의 더 나은 소프트웨어를 향한 9단계: 객체지향 생활 체조 중 규칙 2에 대한 내용이다. 시작은 프리코스부터 필자는 현재 우아한 테크코스(이하 우테코)를 진행하고 있는데 우테코를 들어오기 위한 과정 중 …

디미터 법칙(Law of Demeter) cover image
#law-of-demeter

디미터 법칙(Law of Demeter)

디미터 법칙은 “Object-Oriented Programming: An Objective Sense of Style”에서 처음으로 소개된 개념이다. 이 글의 저자들은 디미터라는 이름의 프로젝트를 진행하던 도중 다른 객체들과의 협력을 통해 프로그램을…

상속보다는 조합(Composition)을 사용하자. cover image
#oop

상속보다는 조합(Composition)을 사용하자.

우리는 다양한 이유로 상속을 사용한다. 코드를 재사용함으로써 중복을 줄일 수 있다. 변화에 대한 유연성 및 확장성이 증가한다. 개발 시간이 단축된다. 하지만, 상속의 장점들은 상속을 적절히 사용했을 경우에만 해당한다. 상속을 잘못 사용하면 변화에 유…

하나의 메서드는 하나의 기능을 수행하자 cover image
#clean-code

하나의 메서드는 하나의 기능을 수행하자

우리는 프로그래밍을 하면서 수많은 메서드들을 작성한다. 그렇다면 우리가 작성하는 프로그래밍에서의 메서드란 무엇일까? 객체 지향 프로그래밍에서 메서드는 객체간의 협력하는 구조를 설계하고 구현하기 위해서 반드시 필요한 객체의 행동에 해당한다. 하지만 구…

하드코딩을 피해라. cover image
#hard-coding

하드코딩을 피해라.

안 좋은 코딩 습관을 얘기할 때면 꼭 언급되는 것이 하드코딩이다. 선배 개발자들은 하드코딩을 피하며 코딩하는 것이 당연하지만, 초보 개발자들은 하드코딩이 뭔지, 왜 하면 안 되는 것인지 모르는 경우가 대부분이다. 하드코딩이란? 프로그램의 소스 코드에…

반복문(iteration) vs 재귀(recursion) cover image
#clean-code

반복문(iteration) vs 재귀(recursion)

반복문과 재귀함수 프로그램은 반복되는 작업을 수행하도록 설계된다. 따라서 반복을 구현하는 로직은 필수적이고 프로그래밍 언어마다 for, while 같은 기본적인 반복 제어문을 지원하고 있다. 반복되는 작업은 기본 제어문을 통해서 뿐만 아니라 재귀함수…