-
코드스멜 (CodeSmall)Domain knowledge 2021. 5. 30. 00:00반응형
코드스멜이란?
코드 스멜(code smell←코드 냄새)은 컴퓨터 프로그래밍 코드에서 더 심오한 문제를 일으킬 가능성이 있는 프로그램 소스 코드의 특징을 가리킨다.
여러가지 기준과 체크 방법이 있으며 코드리뷰나 PR 시에 이러한 기준을 두고 상대방과 코드에 대한 소통하는 편이 여러가지로 도움이 될 수 있다고 봅니다.
일반적으로 아래와 같은 기준들이 있으며 오래동안 개발을 하다보면 어느정도 경험에 의해서 많이 걸리지는 부분도 있습니다.
- 중복 코드
- 억지로 꾸민듯한 복잡성
- 커다란 클래스
- 기능에 대한 욕심
- 부적절한 관계
- 거부된 유산
- 게으른 클래스
- 리터럴의 과도한 사용
- 순환 복잡도
- 다운캐스팅
- 고아 변수 또는 컨스턴트 클래스
- 너무 많은 매개변수
- 긴 메서드
- 과도하게 긴 식별자
- 과도하게 짧은 식별자
- 과도한 데이터의 반환
https://ko.wikipedia.org/wiki/%EC%BD%94%EB%93%9C_%EC%8A%A4%EB%A9%9C
코드 스멜 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 코드 스멜(code smell←코드 냄새)은 컴퓨터 프로그래밍 코드에서 더 심오한 문제를 일으킬 가능성이 있는 프로그램 소스 코드의
ko.wikipedia.org
http://jidum.com/jidums/view.do?jidumId=315
지식덤프
1. 안전한 소프트웨어 개발 위한 코딩의 개요 가. 코딩 오류 정의 코딩은 모듈에 대한 원시코드 작성하고 오류를 검출하는 단계로 코딩오류는 설계 명세상의 누락이나 프로그래밍 기법상의 결
jidum.com
코드 스멜 (Code Smell)
코드 스멜: 작성한 소스 코드에 문제가 있음을 나타내는 어떤 낌새.코드 스멜 체크 리스트를 통해 스스로...
blog.naver.com
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
소프트웨어 리팩토링 (Refactoring) > 도리의 디지털라이프
I. 소프트웨어 코드 정제 기법, 소프트웨어 리팩토링 개념 목적 유지보수 생산성 향상 위해 기능을 변경하지 않고 소스코드를 수정, 보완하는 소프트웨어 품질향상 기법 – 유지보수성 향상 –
blog.skby.net
Refactoring을 위한 Code Smell
리팩토링교육을 준비하던 중...좋은 정보가 있어서 추가해 봅니다. ^^ 원문 : http://kwakyc87.tistory.com...
blog.naver.com
https://refactoring.guru/refactoring/smells
Code Smells
Bloaters are code, methods and classes that have increased to such gargantuan proportions that they are hard to work with. Usually these smells do not crop up right away, rather they accumulate over time as the program evolves (and especially when nobody m
refactoring.guru
https://nesoy.github.io/articles/2018-05/Refactoring-BadSmell
Refactoring - 나쁜 냄새(Bad Smell)
nesoy.github.io
반응형'Domain knowledge' 카테고리의 다른 글
Design system 이란? (0) 2023.02.21 오픈소스 라이선스 (Open Source License) (0) 2023.01.05 이터레이션(Iteration)이란? (0) 2021.02.14 핸드셰이킹 (handshake) (0) 2020.11.10 FLOPS (Floating point operations per second) (0) 2020.10.05 클린 아키텍처(Clean Architecture) (0) 2020.01.18 JAVA String 객체 와 String 리터럴(literal) (0) 2019.10.16 러너블(Runnable)이란? (0) 2019.10.05