728x90
✨ 이 글은 [ 코드프레소 Java 웹 개발 체험단 활동 ] 내용입니다 ✨
💜 코드프레소 이러닝 강의 수강 중 - SW 유지보수성 향상을 위한 Clean Code 💜
😎 아래의 링크를 통해 프리미엄 IT 교육 서비스, 코드프레소를 확인해보세요 😎
Clean Code에 대한 서로 다른 시각
- 코드의 품질은 매우 주관적일 수 있는 주제이기 때문에, 개인마다 Clean Code의 기준이 다를 수 있ㄷ
- 개개인마다 좋은 코드에 대한 서로 다른 정의와 수준을 갖고 있으며, 갖고 있지 않기도 하다
- SW는 다수의 개발자들이 협업하여 만들기 때문에 코드 품질, SW 품질에 대한 서로 다른 시각은 품질 향상의 걸림돌이 된다
- Clean Code는 개인과 조직의 노력이 동시에 필요하다
Clean Code란 무엇인가?
- Clean Code는 이해하기 쉽고, 변경하기 쉬운 Code (by Robert C.Martin, Clean Code)
- Clean Code의 표준이나 엄격한 정의는 존재하지 않는다
- 하지만 대가들의 아이디어에서 힌트를 얻을 수 있다
대가들의 Clean Code
1. Bjarne Stroustrup - C++ 창시자
2. Grady Booch - UML의 창시자
3. 'Big' Dave Thomas - Eclipse 프로젝트 초기 공헌자
4. Michael Feathers - Working Effictively with Legacy Code 저자
5. Ron Jeffries - Extreme Programming의 창시자
6. Ward Cunningham - Wiki의 창시자
Clean Code의 공통적 의견
- 사람이 읽고 이해하기 쉽다
- 단순한 한 가지 역할을 하고, 명확한 이름(표현)을 갖고 있다
- 중복이 없다
- 테스트 케이스가 있다
Clean Code
- 이해하기 쉽고, 변경하기 쉬운 Code
- 사람이 읽고 이해하기 쉽고, 명확한 한가지 역할을 하며, 이 역할을 의미있게 표현하고, 중복이 없고 테스트 케이스가 존재하는 코드
어떻게 Clean Code를 작성할 수 있을까?
중요하지만 Clean Code의 범위에 속하지 않는 것들
- 자료구조/알고리즘
- SW의 성능 개선
- 신뢰성, 안정성을 위한 개발 기법
- SW 아키텍처 설계 기법
- 언어 별 Programming Best Practice
Clean Code가 왜 중요할까?
- SW는 한번 신규 개발되고, 오랜 기간동안 유지보수 된다
- 따라서 코드를 새롭게 작성하는 것보다 기존 코드에 추가 작업하는 시간이 압도적으로 많다
- 대부분의 시간을 기존 코드를 읽고, 이해하는 데 사용한다
- Code의 품질이 낮아지면?
- Code를 읽고 이해하는 데 더 많은 시간이 걸린다
- 복잡도가 상승하여 코드를 수정하는 데 더 많은 시간이 걸린다
- 테스트 코드가 없어서, 하나를 수정하면 여러 곳에서 Side-effect가 발생한다
- 개인과 조직 모두에게 커다란 비효율이 발생한다
즉, 빠른 퇴근/워라밸 보장/걱정 없는 코드를 만들려면 Clean Code를 짜야 한다!
Clean Code를 위한 공식과 정답은 없다
- 앞으로 배우게 되는 내용은 정답이 아니며, 엄격히 지켜야 되는 법칙이 아니다
- 그래도 이 강의를 수강한 후에는 클린 코드의 시작이 되고 조직 내 논의의 시작점이 되었으면 하는 것이다!
728x90
'코드프레소 체험단 > Clean Code' 카테고리의 다른 글
[SW 유지보수성 향상을 위한 Clean Code] Clean Method (0) | 2022.01.24 |
---|---|
[SW 유지보수성 향상을 위한 Clean Code] Clean Naming (2) (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] Clean Naming (1) (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] 과정 소개 (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] 사전 테스트 복습! (0) | 2022.01.22 |
댓글