안녕하세요 여러분~!
언그래머 김송아입니다.
눈 깜짝하니 금요일이네요!! 라고 말하기엔 일주일이 꽤나 길었던 것 같습니다.
장마라서 그런가.. 뭔가 하루가 비교적 늘어지는 느낌이 있는 것 같아요! (저만 그런가요?ㅎㅎ)
어찌되었던 간에! TGIF 한번 외치고 오늘 컨텐츠 시작해볼게요!!
Thanks God It's FRIDAY!!!
금요일은 누가 만든건지 상줘야함(?)
우리가 금요일을 외치는 만큼.
개발자라면 요즘, "모두다 외쳐 0000!" 라고 생각될 정도로.. 모르면 큰일이라도 날 것처럼 난리난 용어가 하나 있죠.
이름하여,
ㅋ ㄹ ㅋ ㄷ
맞습니다.
클린코드
어디만 가면 요즘은 클린! 클린! 클린 코드!!! 라고 하죠?Clean Code.. 클린 코드 해보셨어요? 클린 코드 주요 원칙이 뭐죠?!?! 와글와글... 그..그만😇....
개발자이신 분들은 이 용어를 정말 많이 들어보셨을 텐데요,
클린 코드(Clean Code)라는 용어를 대부분 책 제목으로 알고 계실 거에요. 아마 서점에서 한번쯤은 보았을 표지입니다.
하~얀 바탕에 허여멀거리(?)한 글자색..ㅎ.. 빛에 비추면 보이는 거 같기도 하고.. 안 보이는 거 같기도 하고..
참고로 똑같이 생긴 "클린 아키텍처" 도서도 있습니다! 둘다 저자가 같구요.
이 책의 저자님은 로버트 C. 마틴이라는 분입니다. "객체 지향 참 쉽죠잉?"이라는 명언을 남기신 분이기도 합니다.
그래서 우리에겐 객체지향의 밥 아저씨(a.k.a 엉클 밥)이라고도 불리고, 객체 지향의 아버지로(아..아빠...?) 자리하고 계시죠.
대체 이 분은 누구시길래.. 저런 명언이자 망언을 할 수 있는거야?! 하실 수 있겠죠.
자, 소개합니다. 별건 아니구요.. 그냥 뭐... 이 저자분은 뭐하시는 분이냐면...
- C++
- 자바
- C#
- 루비
- 객체지향
- 디자인 패턴
- 그..그만해..
- UML
- 애자일 방법론
등 객체 지향 세상의 익스트림 프로그래밍 분야에서 전 세계의 고객들을 이끄는 경험이 풍부한 컨설턴트가 모인 회사 '오브젝트 멘토(Object Mentor)의 창업가이자 대표이기도 합니다.
엌ㅋㅋㅋㅋ회사 이름이 객체 멘토네요ㅋㅋㅋ 어제까지 알아채지 못하고 이제야 깨달은 1인ㅋㅋㅋㅋㅋㅋ
아무튼 이 분 덕분에 우리는 객체 지향의 세상 속에 살게 되었으니, 이 분의 책과 활동들이 이 세계의 중요한 바이블처럼 활용되고 있죠!
하지만 이 분은 늘 책에서 반복해서 말하고 있어요.
심지어 나쁜 코드에 대한 스멜을 찾고, 그 휴리스틱을 화려하게 목록으로 작성한 챕터에서 조차도 이런 결론을 내립니다.
(중략)
이 장에서 소개한 휴리스틱과 냄새 목록이 완전하다 말하기는 어렵다.
아니, 완전한 목록이 가능하다고도 생각하지 않는다.
여기서 소개한 목록은 가치 체계를 피력할 뿐이다.
...
사실 이 책의 주제이자 목표는 가치이다.
규칙만 따른다고 해서 깨끗한 코드가 얻어지지 않는다.
p.406 [clean code] 중에서
💡여기서 잠깐! 휴리스틱이란
문제를 해결하거나 불확실한 사항에 대해 판단을 내릴 필요가 있을 때,
명확한 실마리가 없을 경우에 사용하는 편의적 발견적인 방법 [위키백과]
즉, 명확하지 않은데 지레짐작으로 문제를 해결하는 방법을 말합니다.
👉🏻 [클린코드] 책에서는 개발자들이 코드에서 임시 방편으로 활용하는 즉, 휴리스틱이 어떤 것들이 있는지 정리해두었습니다!
여러분, 우리는 진짜 하나의 바이블을 넘어서 거의 내 코드 네 코드.. 갓린코드.. 하고 있진 않은가요?
저자분은 "이건 완벽하지 않아.. 하나의 가치 일 뿐이야.." 라고 얘기하고 있는데
오히려 우리는 "최고! 최고!! 클린코드 짱!!!!!! '✨클린코드'=='📚클린 코드 책'이 true 라고 얘기하고 있진 않은가요?
제가 늘 말씀드리는 얘기. 오늘 또 하게 되네요!
✨하나의 개념을 받아들일 때, 절대 무조건 수용하면 안된다고 하잖아요?
✨단순히 하나의 책에 나오는 문법과 개념을 저항없이 그대로 따라하는 것은, 그냥 그 책을 따라 코딩하는 것 아닐까요?
클린 코드 역시 마찬가지입니다. 너무 멋진 책과 내용이라, 많은 추종자들이 있는 것도 알고 있어요!
하지만 여러분들의 논리가 아니라 그저 따라하는 코드를 우린 클린 코드 라고 하긴 힘들 것 같아요.
특히 현업에 계신 분들은 더 잘 아시겠지만, 그 조직에서의 클린 코드는 사실 그 환경에서 만들어지는 것 아닐까 생각합니다.
🤔 시행착오는 필요 없어.
🫢 무조건 이 책이 맞으니까 이대로만 해야 해!
이렇게만 생각하고 조직에 무조건적으로 적용해버린다..?
너무 위험하다는 생각 혹시 지금 마음속에 훅- 들어오실까요?
기본적으로 조직이 가는 방향을 지키고, 그 안에서 책을 참고해서 적용해보면서 팀에 맞는 코드를 같이 만들어간다면!
그렇게 만든 코드는
내 동료가 이해를 잘 할 수 있게 해줄 테고,
우리들의 빠(른)퇴(근)🏃🏻🏃🏻🏃🏻할 수 있게 해줄 테고..
그것이 바로 우리가 클린 코드를 원하는 이유 아닐까요?
📚한 업계를 리딩(Leading)하고 있다고 해도 과언이 아닌 책 [클린 코드]📚
저 역시 너무 좋아하는 책이고, 꼭 한번쯤 읽어보셨으면 하는 필독서 중에 하나입니다!
그런 책의 지식에 여러분들의 멋진 생각과 고민을 담아주신다면, 저는 그걸 감히 갓-벽한 코드라고 부르겠어요.
(완벽한 코드는 없으니 Better로 합의 보시죠.. 송아 너 T야?)
비가 연일 많이 오네요
오늘 8시에 예약해둔 이 글이 잘려서 업로드 된걸 확인한 제 마음 같지만, 저는 괜찮아요! 하하하하하하하!
그래도 B2C 서비스가 이런 HTTP 500같은 치명적인 오류는 유저가 너무 마음이 아프쟈나.. 제가 QA로 들어가도 될까요... ^^^^^^*
이번 한주도 너무너무 고생 많으셨구요!!
쾌적한 주말 되시구!!! 우린 다음주에 또 만나요💚
늘 감사합니다.
김송아 드림
'Programming' 카테고리의 다른 글
[언그래머] 열두번째 아티클_우리가 애자일이 힘든 이유 (0) | 2023.07.21 |
---|---|
[언그래머] 열한번째 아티클_노코드 로우코드.. 개발자를 위협한다구? (0) | 2023.07.18 |
[언그래머] 아홉번째 아티클_새로운 기술이 나오면 우리는 어떻게 해야할까 (feat.nextjs vs spring) (2) | 2023.07.11 |
[자바] 접근제한자 default vs protected 차이 (예시) (0) | 2023.07.10 |
파이썬 기본 문법을 다 아는 당신.. (31) | 2023.07.10 |