본문 바로가기
CS/Secure

[Clean Coding] 주의깊은 코드 SOLID

by JiGyeong 2016. 4. 29.

jUnit :  단위 테스트 툴


비야네 스트롭스토룹 (C++ 창시자)

- 논리가 간단해야 하며, 효율적이어야 한다.

- 의존성을 최대한 줄여야 한다.

- 깨끗한 코드는 한 가지 만을 제대로 한다.


그래디 부치

- 깨끗한 코드는 단순하고 직접적이다.

- 잘 쓴 문장처럼 잘 읽힌다. (가독성)

- 설계자의 의도를 그대로 나타낸다.

- 명쾌한 추상화와 단순한 제어문으로 가득하다.


데이브 토마스

- 깨끗한 코드는 작성자가 아닌 사람도 읽고 고치기 쉽다.

- 단위 테스트와 인수테스트가 존재한다.

- 의미있는 이름을 사용한다.


마이클 페더스

- 깨끗한 코드는 주의깊게 짰다는 느낌을 준다.

- 고칠 부분이 없다.




[ SOLID ]


SRP : Single Responsibility Principle

하나의 클래스는 하나의 기능만 수행해야 한다.


OCP : Open/Close Principle

개방 폐쇄원칙

수정에는 폐쇄되어있고, 확장에는 개방되어야 한다.

클래스를 추가삭제수정할때 다른클래스에게는 영향을 주지 말아라

클래스가 추가되든 삭제되든 "인터페이스"를 통해 구현하면 다형성으로 인해 다른클래스에 영향을 주지 않는다.


LSP : Liskov Substitution Principle

상속을 잘 해주면 됨 상속할때 override 바꾸지 말아라

확장할때 슈퍼클래스의 기능을 바꾸지 말아라. 조건 만족시켜야 됨.

완전 분리되어야됨


ISP

하나의 클래스는 자신만의 역할을 가져야 하고, 이 역할은 인터페이스로 분리되어야 한다.


DIP

상위 모듈이 하위 모듈에 의존하면 안된다.



'CS > Secure' 카테고리의 다른 글

[Secure] 침입탐지 시스템 IDS  (0) 2017.07.03
[Clean Coding] JUnit  (0) 2016.04.29
[Secure Coding] 비밀번호 암호화 하기  (4) 2016.04.28
[Secure Coding] 해킹방지 코드짜기  (0) 2016.04.27
[Secure Coding] Paros 64비트에서 실행  (4) 2016.04.27