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 |