본문 바로가기
CodingHabit

anti-pattern

by AsCE_hyunseung 2018. 11. 6.

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의 안티 패턴 문서

https://github.com/nhnent/fe.javascript/wiki/%EC%95%88%ED%8B%B0-%ED%8C%A8%ED%84%B4#%EB%A5%BC-%EC%83%9D%EB%9E%B5%ED%95%98%EC%A7%80-%EB%A7%88%EB%9D%BC

'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