강의

멘토링

커뮤니티

개발 · 프로그래밍

/

개발 · 프로그래밍 기타

Simple Design 개론 - 코드 품질에 대하여

좋은 코드의 기준이 주관적일 수 밖에 없는지, 좀더 객관적으로 판단하기 위해 어떤 고민이 필요한지 다 같이 생각해봅시다.

(4.8) 수강평 42개

수강생 1,430명

  • 영록
코드품질
리팩터링
테스트
소프트웨어공학
소프트웨어 공학

먼저 경험한 수강생들의 후기

수강 후 이런걸 얻을 수 있어요

  • 좋은 코드를 위해 어떤 질문을 던져야 하는지 알게 됩니다.

  • 객관적인 사고를 통해 더 믿을 수 있는 주관적인 기준을 갖게 됩니다.

엔씨·카카오·네이버 출신, 다양한 기술과 도메인을 아우르는 코드 품질의 장인
25년차 개발자 박영록 님의 Simple Design 밋업 녹화 영상입니다
🙂

좋은 코드의 기준, '주관적'일 수 밖에 없을까요?

좋은 코드의 기준이 있을까요? 깔끔한 코드? 읽기 쉬운 코드? 아름다운 코드? 좋은 코드의 기준이 이런 주관적인 것 밖에 없을까요? 팀장과 나의 코드 기준이 다른가요? 동료들의 코드를 리뷰할 때 나는 어떤 이야기를 해줄 수 있을까요?

본 강의에서는 코드의 품질을 좀더 객관적으로 판단할 수 있는 기준들을 제시합니다.

그러나, 그 기준을 단순히 제시하는 것에 그치기보다는, 그 기준을 이끌어내기 위해 어떤 질문들을 던졌는지,
어떤 사고 과정을 거쳤는지를 공유하고 각자가 스스로 고민하고 판단할 수 있는 기회를 제공하고자 합니다.
그래서, 각자가 다른 사고 과정을 거치더라도 보편적인 기준에 도달할 수 있다는 것을 함께 경험하기를 바랍니다.

Simple Design 시리즈 전체의 로드맵은 다음 링크에서 보실 수 있습니다. https://inf.run/VvwxD


이 강의에서는 코드 품질에 대한 기준으로 다양한 관점들을 검토하고, 왜 가독성이 좋은 코드 품질 기준이 될 수 없는지를 이야기하며, 그 대안으로 Kent Beck의 Simple Design을 제시합니다. 그리고, 그 Simple Design이 간단한 두 개의 원칙으로 요약될 수 있지만, 그 두 개의 원칙을 지키는 것이 생각보다 어려운 일이고, 또 어려운 일이지만 차근차근 정복해 나갈 수 있다는 것을 보여주고 싶습니다.


AI 시대에 코드 품질이 왜 필요한가 싶을 수 있지만, 오히려 AI 시대에 코드 품질의 중요성은 더 커지고 있습니다. 코드 품질을 고려하지 않고 AI에만 맡긴 소프트웨어가 정확하게 원하는 결과를 내지 못하거나, 해결하기 어려운 유지보수 문제를 만드는 경우가 많죠. 또한 토큰 비용도 막대하게 들어가는데, 그 비용에 비해 성과는 초라한 경우도 많습니다. AI를 효율적으로 잘 쓰려면 AI에게도 높은 코드 품질을 요구해야 하고, 그러려면 "가독성" 같은 주관적이고 애매한 기준보다 좀더 명확한 기준들이 필요합니다.


이 강의에서 코드 품질을 주관적으로 판단하기보다 객관적으로 판단할 수 있는 기준들을 함께 생각해보고, 좋은 기준들을 찾아가기를 바랍니다.

좋은 코드 작성하는 방법에 대해
함께 고민해보세요 🤔

>> 강의를 통해 빈 칸을 채워보세요!

사실 이 밋업을 듣는다고 해서 갑자기 매일 좋은 코드를 작성할 수 있게 되는 것은 아닙니다.
그러나, 나와 팀의 코드 품질을 높이기 위해 어떤 고민을 해야 하고, 어떤 질문을 던져야 하는지 알게 될 것입니다.

저는 늘 객관적이려 노력하는 사람이 주관적인 판단을 할 때 그 주관이 강력하고 믿을 만하다고 생각합니다. 저는 이 강의를 통해 여러분이 스스로 좀더 객관적인 시각을 갖게 되기를 기대합니다.

- 박영록 지식공유자

🎥 참고 안내

  • 학습자료를 함께 참고하시면 보다 원활하게 강의를 따라오실 수 있습니다.

  • 첫번째 영상은 오프라인 밋업을 녹화한 영상이라 진행 속도가 느립니다. 따라서, 1.5배속으로 시청하시길 권합니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 내 코드가 좋은 코드인지 확신이 없는 분

  • 코드 리뷰 기준 차이로 동료와 자주 부딪히는 분

  • 점점 손대기 어려운 코드가 늘어나고 있는 팀에서 일하는 분

  • 팀원들의 막막한 코드를 보며 조언해줘야하는 개발 팀장님들도 환영!

안녕하세요
입니다.

1,959

수강생

58

수강평

1

답변

4.9

강의 평점

4

강의

대한민국에서 가장 폭넓은 경험을 가진 개발자입니다. 직접 창업한 스타트업, 소규모 스타트업에서부터 네이버, 카카오, 엔씨소프트 등 대기업까지 다양한 규모의 기업, HTML과 CSS에서 시작해서 프론트엔드, 백엔드, 시스템 프로그래밍, 하드웨어 제어, DevOps까지 다양한 기술, 커머스, 세무회계, 광고산업, 생산성 툴, 공공프로젝트 등 다양한 비즈니스 도메인을 경험했습니다.

또한, 많은 기업에서 CTO를 맡으며 팀원들의 강력한 지지를 받았고, 여러 번 실패했던 프로젝트를 이어 받아 살려낸 사례를 통해 해결사 역할도 많이 요청 받고 있습니다.

커리큘럼

전체

3개 ∙ (53분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

42개

4.8

42개의 수강평

  • ninety25296님의 프로필 이미지
    ninety25296

    수강평 145

    평균 평점 5.0

    5

    100% 수강 후 작성

    It feels most important to create concise and clear functions.

    • daejoon님의 프로필 이미지
      daejoon

      수강평 58

      평균 평점 4.9

      수정됨

      5

      100% 수강 후 작성

      I can relate to this lecture from the perspective of using inline method when analyzing code that has indiscriminately used extract method. Particularly impressive was the part where you advised to be cautious about state (global) changes when using extract method. Thank you.

      • kimcookieya님의 프로필 이미지
        kimcookieya

        수강평 2

        평균 평점 5.0

        5

        100% 수강 후 작성

        Clearly explained with various code examples!

        • thsgksql954083님의 프로필 이미지
          thsgksql954083

          수강평 8

          평균 평점 5.0

          5

          100% 수강 후 작성

          • pilupus님의 프로필 이미지
            pilupus

            수강평 8

            평균 평점 4.1

            3

            100% 수강 후 작성

            무료

            영록님의 다른 강의

            지식공유자님의 다른 강의를 만나보세요!

            비슷한 강의

            같은 분야의 다른 강의를 만나보세요!