2020/04 4

파이썬(PYTHON) 클린코드 #6_ SOLID, 단일 책임 원칙(SRP)

안녕하세요. 문범우입니다.이번 포스팅에서는 SOLID 원칙에 대해서 알아봅니다. SOLID는 5가지 원칙을 줄여서 말하는 내용인데, 한번에 5가지 모두를 알아보지 않고, 각 원칙에 대해서 코드로 함께 살펴보며 총 5개의 포스팅으로 나누어 설명드릴 예정입니다. 0. SOLID란? 우선 솔리드, SOLID는 객체 지향 프로그래밍 및 설계의 다섯가지 기본 원칙을 이야기한다. 프로그램이 시간이 지나도 유지 보수 및 확장이 쉬울 수 있도록 하기 위한 원칙이며, 우리가 학습하고자 했던 클린코드를 위한 원칙이기도 하다. 조금 더 구체적으로, SOLID는 아래와 같은 5가지 원칙을 이야기 한다. 1. Single Responsibility Principle(단일 책임 원칙) 2. Open/Closed Principle..

파이썬(PYTHON) 클린코드 #5_ 인자(Argument)

안녕하세요. 문범우입니다.이번 포스팅에서는 파이썬에서의 인자(Argument)에 대해서 알아보도록 하겠습니다.파이썬에서 인자가 어떻게 작동하는지, 그리고 가변인자와 같은 개념들도 함께 알아보도록 하겠습니다. 0. 인자(Argument)와 매개변수(Parameter) 본격적으로 인자에 대해서 알아보기전에, 자주 헷갈릴 수 있는 인자와 매개변수에 대해서 잠깐 짚고 넘어가도록 하자. 물론 이는 파이썬언어 뿐만이 아니라 다른 언어에서도 혼동되서 사용될 수 있는 개념이다. 12345def func1(param1, param2): print(f"param1:{param1}, param2:{param2}") func1("AA","B")# param1:AA, param2:Bcs 위의 코드를 살펴보며 이야기해보자.함수 ..

파이썬(PYTHON) 클린코드 #4_ 상속과 컴포지션

안녕하세요. 문범우입니다.이번 포스팅에서는 상속과 컴포지션에 대해서 알아보도록 하겠습니다.어떤 경우에 상속을 쓰는 것이 올바른 것인지, 그리고 파이썬에서 상속과 파이썬을 어떻게 사용하는지에 대해서 코드로 함께 살펴보겠습니다. 1. 상속(Inheritance) 상속이란 기본적으로 자신이 가진 속성과 메소드를 물려주는 클래스(부모클래스, Parent class, Super class)와 이를 물려받는 클래스(자식클래스, Child class, Sub class)로 이루어진다.객체 지향적 소프트웨어를 디자인하고 구현할 때 상속은 중요한 개념으로, 또 자주 사용된다. 하지만 이를 다시 생각해보자. 상속개념을 활용하면 부모클래스와 자식클래스간에 강력한 결합력(Coupling)이 발생하게 된다.좋은 코드, 유지보수..

파이썬(PYTHON) 클린코드 #3_ 개발 지침 약어

안녕하세요. 문범우입니다.이번 포스팅에서는 개발 분야에서 사용되는 약어(Abbreviations)에 대해서 알아보려 합니다.물론, 파이썬이라는 언어에서만 해당되거나 염두에 두어야 할 내용이라기 보다는, 프로그래밍에 있어서 어떠한 언어를 사용하던 각 약어들을 염두해두고 프로그래밍을 한다면 보다 좋은 코드를 작성할 수 있고, 특정 상황과 코드에 보다 적합한 아이디어를 얻을 수 있을 것 입니다.1. DRY / OAOO DRY(Do not Repeat Yourself)와 OAOO(Once And Only Once)는 강조하고자 하는 의미가 비슷하므로 함께 다루어보자. 두개의 약어는, '중복을 피하라'라는 의미를 가지고 있다.즉, 특정 기능과 역할을 하는 것은 코드에 단 한 곳에 정의되어 있어야 하고 중복되지 않..