200107 SSAFY

25f1302c324f7038f49eec82b01eea4e?s=47 Joeun
January 07, 2020

200107 SSAFY

협업을 위한 클린코드

25f1302c324f7038f49eec82b01eea4e?s=128

Joeun

January 07, 2020
Tweet

Transcript

  1. 협업을 위한 클린코드 Samsung Software Academy For Youth 하조은

  2. Overview 경험 공유 01 담대한 협업과 클린코드 라이브 코딩1 02

    나쁜 코드를 깨끗하게 라이브 코딩2 03 함수형 프로그래밍 라이브 코딩3 04 테스트와 스타일 가이드
  3. 경험 공유 "담대한 협업과 클린코드"

  4. Index 야생 개발자 01 담대한 협업 02 클린코드 03 뱅샐

    개발자 04
  5. 야생 개발자 01

  6. 야생?

  7. Wild [waɪld]
 animals or plants live or grow in natural

    surroundings and are not looked after by people.
  8. 야생 개발자?

  9. 협업 경험이 적은 개발자

  10. 문과 출신 개발자

  11. 나름대로 문학소년

  12. 프로그래밍을 처음 배우며 했던 생각

  13. "프로그래밍, 이거 제법 문과스러운데?"

  14. 시(詩) 쓰듯 프로그래밍

  15. 멋진 코드는 함축적인 코드

  16. None
  17. None
  18. 대출 상품 페이지.html

  19. 우아한 코드는 적당히 어려운 코드

  20. None
  21. 깨끗한 코드는 짧고 예쁜 모양의 코드

  22. None
  23. None
  24. 조금 어려워도 옆사람만 이해하면 된거 아니야?

  25. 응, 아니야

  26. 협업을 위한 코드가 아니니까

  27. 협업을 위한 코드?

  28. 담대한 협업 02

  29. None
  30. 담대한 협업?

  31. 공유와 피드백

  32. 냄맡빠공

  33. 냄새를 맡으면 빠르게 공유

  34. 개발자의 공유와 피드백

  35. 코드 리뷰

  36. 개발자의 담대한 협업 코드 리뷰를 잘하는 것

  37. 협업하기 좋은 코드 리뷰하기 좋은 코드

  38. None
  39. 클린코드 03

  40. Subject 깨끗한 코드 01 의미있는 이름 02 함수와 주석 03

    오류 처리 04
  41. Subject 깨끗한 코드 01 의미있는 이름 02 함수와 주석 03

    오류 처리 04 3장과 4장의 내용 7장의 내용
  42. 코드의 품질을 측정하는 척도 분당 "이건 뭐지?"를 외치는 정도

  43. None
  44. WTF? WTF? WTF? WTF? WTF? WTF? WTF?

  45. WTF?!!?@ WTF?!!@!?@!!

  46. None
  47. 깨끗한 코드 "깨끗한 코드는 잘 쓴 문장처럼 읽힌다" by. Grady

    Booch (p.10)
  48. None
  49. 간결하지만 잘 읽히진 않는다

  50. None
  51. 문장으로 읽힌다

  52. None
  53. 의미 있는 이름 "의도를 분명하게 밝혀라" by. Uncle Bob (p.23)

  54. None
  55. None
  56. None
  57. None
  58. None
  59. None
  60. None
  61. 의미 있는 이름은 의도를 분명히 드러낸다

  62. 의미 있는 이름은 팀을 소통하게 만든다

  63. 함수 "프로그래밍은 여느 글짓기와 비슷하다" by. Uncle Bob (p.61)

  64. None
  65. None
  66. None
  67. None
  68. None
  69. None
  70. 서술적으로 표현하기

  71. 주석

  72. 코드 자체가 글인데 주석은 왜 써야해? by. Uncle Bob (઱ࢳী

    ؀ೠ Ѽ೧)
  73. 주석을 쓰기 시작하면 코드의 가독성이 떨어진다

  74. 주석 대신 코드로 이야기하자

  75. None
  76. None
  77. 서술적인 이름을 짓자

  78. None
  79. None
  80. 오류 처리 "논리와 오류 코드를 뒤섞지 마라" by. Uncle Bob

    (p.142)
  81. 논리와 오류 코드를 뒤섞지 마라

  82. 비즈니스 로직에 집중할 수 있게 해라

  83. 논리와 로깅 코드를 뒤섞지 마라

  84. "필터가 변경될 때마다 이벤트 로그를 남겨주세요!"

  85. None
  86. None
  87. None
  88. 로깅 코드가 숨어들어 논리에 집중하기 어려움

  89. 논리와 로깅 코드를 뒤섞지 말자

  90. None
  91. None
  92. 로깅 코드가 분리되어 논리에 집중된다

  93. Summary 깨끗한 코드 01 문장처럼 읽힌다 의미있는 이름 02 의도를

    드러내라 함수와 주석 03 프로그래밍은 글짓기 오류 처리 04 논리에 집중해라
  94. 뱅샐 개발자 04

  95. None
  96. 멋진 코드는 함축적인 코드?

  97. 멋진 코드는 설명이 필요 없는 코드!

  98. 우아한 코드는 적당히 어려운 코드?

  99. 우아한 코드는 예상 가능한 코드!

  100. 깨끗한 코드는 짧고 예쁜 모양의 코드?

  101. 깨끗한 코드는 수정이 용이한 코드!

  102. 휴가 떠나서 불안해 하지 말자

  103. 클린코드는 협업을 위한 코드다

  104. 라이브 코딩1 "나쁜 코드를 깨끗하게"

  105. 나쁜 코드를 깨끗하게 리팩토링 해보자

  106. https://github.com/joeunha/clean-code-ssafy Source Code

  107. Remind 깨끗한 코드 01 문장처럼 읽힌다 의미있는 이름 02 의도를

    드러내라 함수와 주석 03 프로그래밍은 글짓기 오류 처리 04 논리에 집중해라
  108. Live Coding ▶

  109. 라이브 코딩2 "든든한 우리형, 함수형"

  110. "깨끗한 코드는 한 가지를 제대로 한다" by. Bjarne Stroustrup

  111. 클린코드를 위한 함수형 프로그래밍

  112. 한 가지를 제대로 하는 방법

  113. 논리를 꼬집어라

  114. 결괏값으로 소통하라

  115. 함수를 합성하라

  116. Live Coding ▶

  117. 라이브 코딩3 "테스트와 스타일 가이드"

  118. 믿을 수 없는 코드

  119. 믿을 수 있는 조건을 검증하는 방법 ✅

  120. Unit Test

  121. JEST

  122. Live Coding ▶

  123. 서로 다른 코드 스타일

  124. 일관된 코드 스타일을 적용하기 위한 도구

  125. LINT

  126. ESLint

  127. Live Coding ▶

  128. Thank You