반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코딩테스트
- JavaScript
- Effective Java 3
- 예제로 배우는 스프링 입문
- 자바스크립트
- 자바
- 티스토리챌린지
- 스프링
- 이차전지관련주
- effectivejava
- 오블완
- ElasticSearch
- Spring
- kubernetes
- Effective Java
- 김영한
- 알고리즘
- java
- k8s
- 스프링 핵심원리
- 엘라스틱서치
- 이펙티브 자바
- 알고리즘정렬
- 이펙티브자바
- Sort
- 카카오 면접
- 스프링부트
- 카카오
- 스프링핵심원리
- 클린아키텍처
Archives
- Today
- Total
Kim-Baek 개발자 이야기
클린아키텍처 - 1장 설계와 아키텍처란 본문
개발자에게 중요한 능력은 무엇일까라는 고민을 많이 하게된다. 신기술을 빠르게 배우고 적용하는 능력, 누구보다 빨리 코딩을 하는 능력 등 여러가지 가 있을 수 있겠다. 회사에서 일을 하다 보니, 여러 사람이 봐도 이해할 수 있는 코드를 짜는 것이 정말 중요한 능력이 아닐까? 라는 생각이 많이 든다.
그래서 해당 능력을 기르기 위해 클린아키텍처라는 책을 읽으면서 스터디를 진행하게 되었다.
1장 - 설계와 아키텍처란?
아키텍쳐는 고수준의 무언가 설계는 저수준의 무엇인가라고 생각하기 쉽지만, 둘은 아무런 차이가 없다고 한다. 중요한 것은 이것의 목표이다.
소프트웨어 아키택쳐의 목표는 필요한 시스템을 만들고 유지보수하는데 투입되는 인력을 최소화하는 데 있다.
좋은 설계로 만들어진 소프트웨어는 많은 사람이 없어도 발전되고 유지되는 것을 말한다.
하지만 실제로 회사에서 만들어지는 소프트웨어들도 그럴까? 사람이 많아질 수록 오히려 생산성이 낮아지는 것을 볼 수 있다. 초창기에 10명의 개발자가 100이라는 결과를 냈다면, 회사가 커져서 100명의 개발자가 되었을 때는 1000의 결과가 나올 거라 예상하지만 실제로는 500이나 나오면 다행이라는 것이다.
이것은 보통의 개발자가 생각하는 빨리 만들어서 결과를 내야겠다는 것 때문에 그렇다. 코드는 나중에 정리해도 되니 먼저 시장에 출시해야겠다고 생각하지만 실제로 고칠 수있을까? 아니다. 항상 새로운 기능이 기다리고 있고, 점점 엉망진창만 되어가는 것이다.
"지저분한 코드를 작성하면 단기간에는 빠르게 갈 수 있고 장기적으로 볼 때만 생산성이 낮아진다." 라고 생각하는 경우가 많다. 하지만 유일한 진실은 다음과 같다.
빨리 가는 유일한 방법은 제대로 가는 것이다
반응형
'개발' 카테고리의 다른 글
클린 아키텍처 - 3장 패러다임 개요 (0) | 2022.02.01 |
---|---|
클린 아키텍처 - 2장 두 가지 가치에 대한 이야기 (0) | 2022.01.31 |
[Java] 함수형 인터페이스 (@FunctionalInterface) (0) | 2020.08.15 |
[카카오 면접] Java Out Of Memory ( OOM ) (0) | 2020.08.12 |
[카카오 면접] JAVA 10, 11, 12 (0) | 2020.08.10 |
Comments