CS/소프트웨어 공학 2

[소프트웨어 공학] 객체 지향 설계(OOD) 5가지 원칙 - S.O.L.I.D 원칙

S.O.L.I.D란?S.O.L.I.D 원칙은 로버트 C. 마틴(Robert C. Martin)이 최초로 제안한 객체 지향 설계의 5가지 원칙이다. 이름에서 알 수 있듯, S.O.L.I.D는 5원칙의 앞글자를 하나씩 따서 만들어진 준말이다. Design Smell이 발생하지 않게 하기 위한 설계 원칙이라고 생각하면 된다.S.O.L.I.DSingle-Responsibility Principle (SRP) Open-Closed Principle (OCP) Liskov Substitution Principle (LSP) Interface Segregation Principle (ISP)Dependency Inversion Principle (DIP)S. Single-Responsibility PrincipleA..

[소프트웨어 공학] 나쁜 코드에서 나는 수상한 냄새 - Code Smells and Design Smells

세상에 나쁜 코드는 없다.개발을 하다보면 어딘가 모르게 코드가 꼬여간다고 느낀 적이 있다. 제대로 설계되지 않고 코드를 작성하다보면 불필요하게 중복이 발생한다거나, 코드가 엉킨다는 느낌을 받곤 한다. 프로그래밍에서, 이를 냄새가 난다(smell)고 표현한다. 대표적으로 Code smells과 Design smells이 있다. 사실 세상에 나쁜 코드는 없다. 나쁜 개발자만 있을 뿐..(우리가 미안해..)Code SmellsCode Smells은 소스코드가 잘못 작성되었다고 판단할 수 있는 신호나 증상들을 말한다. Code Smells은 곧바로 심각한 버그나 문제를 발생시키진 않지만, 프로그램이 방대해지고 복잡해지면 점점 코드를 파악하기 힘들어지는 스파게티 코드(Spaghetti Code)가 될 수 있다.A..