anti-pattern
- 성능, 디버깅, 유지보수, 가독성 등의 측면에서 서비스에 부정적인 영향을 줄 수 있어 사용을 지양하는 패턴
- 특정 타입의 문제에 대해 지식과 경험이 부족하거나 혹은 완벽한 패턴을 잘못된 상황에 적용할 때 발생하게 된다.
- 안티 패턴들은 엄청 많지만 지금 내 수준에서 실천할 수 있는 몇몇개만 정리를 해놓으려고한다.
중괄호를 생략하지말자
- if/while/do/for 문은 한 줄짜리 블록 일 경우 {}를 생략할 수 있다.
- 하지만 이런 패턴은 코드 구조를 애매하게 만들어 가독성이 떨어지고, 문법적 오류가 아니기 때문에 디버깅이 어렵다.
간단한 if-else 검사로 수행할 수 있는 로직을 예외를 사용해 처리하지 말자
- 예외는 정말로 나쁜 상황이 발생했다는 것을 알려주려고 존재하는 것이며, 자주 발생하면 안된다. 그래서 "예외(exception)"이라고 부르는 것이다. 예외는 주의깊게 다뤄야하고, 과용하면 안된다.
화물 숭배(Cargo Cult) 프로그래밍
- 왜 그런지 이유도 모르면서 특정 방식이나 패턴을 사용하지 말자
- ex) 스스로 설명하는 코드(self-explanatory code)에 불필요한 주석달기
https://ko.wikipedia.org/wiki/%ED%99%94%EB%AC%BC%EC%88%AD%EB%B0%B0%EA%B3%BC%ED%95%99
참고: nhn의 안티 패턴 문서
'CodingHabit' 카테고리의 다른 글
/etc (0) | 2018.11.06 |
---|---|
camelCase (0) | 2018.11.06 |
Guard Clause (0) | 2018.11.06 |
Caching (1) | 2018.11.06 |
CodingHabit (1) | 2018.11.05 |