Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

2020년 6월 20일 개발 이야기 특집(클린코드)

1 148 vues

Publié le

유튜브에서 방송한 자료입니다.

1부: https://www.youtube.com/watch?v=tz3eC9JbxQA&list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg&index=3&t=0s

2부: https://www.youtube.com/watch?v=tw1ch51fonY&list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFtcqg&index=1

Publié dans : Logiciels
  • Soyez le premier à commenter

2020년 6월 20일 개발 이야기 특집(클린코드)

  1. 1. 2020년 6월 20일 개발 이야기 특집(클린코드) 박재호(jrogue@gmail.com)
  2. 2. 참고 자료 • <컴퓨터 vs 책> 블로그 • http://jhrogue.blogspot.com/ • OKdevTV 유튜브 방송 • 오늘자 방송 • #1 변수와 함수 편 https://www.youtube.com/watch?v=tz3eC9JbxQA&list=PLdntWJk2tJPKvRB0mSqC5ty KUv7HFtcqg&index=3 • #2 SOLID 편 https://www.youtube.com/watch?v=tw1ch51fonY&list=PLdntWJk2tJPKvRB0mSqC5ty KUv7HFtcqg&index=1 • 재미있는 개발 이야기 리스트: https://www.youtube.com/playlist?list=PLdntWJk2tJPKvRB0mSqC5tyKUv7HFt cqg • 슬라이드 셰어 • https://www.slideshare.net/jrogue/presentations
  3. 3. 클린코드 특집 방송 • 일정: 2020년 6월 20일(토) 17시 15분부터 45분 동안 진행 • 주제: 자바스크립트 세상의 클린코드 • 이벤트: 인사이트 출판사에서 책 5권을 제공 → 방송에 참여해 서 응모하신 분들 중 추첨으로 선물 증정 예정 X2
  4. 4. 이벤트 설문 URL • okdevtv.com • https://forms.gle/hLFLDJhY1Zt6FM9Z6
  5. 5. https://xkcd.com/844/https://github.com/qkraudghgh/clean-code-javascript-ko
  6. 6. 일반적인 원칙 • 프로그램은 공예다 • 방망이 깎던 노인(윤오영) • http://alog.auric.or.kr/EGPARK/Post/654c175a-f00c-4544-8bf7- e26938f60519.aspx#.XuV_RUUzZaQ • 처음부터 올바른 프로그램을 만들 수 있을까? → 퇴고가 없는 작문이 존재할까? 불가능 • 깨끗한 코드를 짜려면 먼저 지저분한 코드부터 짜야함 • 일단 작성한 다음에 리펙토링과 확장하는 방식이 중요함
  7. 7. 자바 프로그래밍 언어로 기술! → 다른 언어는? 이번에는 자바스크립트로!
  8. 8. 변수(1) • 의미있고 발음하기 쉬워야 함 • 유형이 동일하면 어휘도 동일
  9. 9. 변수(2) • 검색 가능한 이름 • 의도를 드러내는 변수 사용
  10. 10. 함수(1) • 매개변수는 2개 이하 • 가장 좋은 경우: 0개 • 한가지 행동만 수행
  11. 11. 함수(2) • 명확한 이름 • 단일 행동을 추상화 • 이름이 여러 의미를 내포하면, 너무 많은 일을 수행 → 함수를 분해해 서 테스트를 쉽게 만들어야 함
  12. 12. 함수(3) • 중복된 코드
  13. 13. 함수(4) • 매개변수로 플래그 사용 X • 부작용 피하기
  14. 14. 함수(5) • 전역 함수 X • 조건문 캡슐화
  15. 15. 함수(6) • 다형성(객체지향 vs 절차형)
  16. 16. 함수(7) • 타입 점검 X 타입스크립트 사용!
  17. 17. SOLID(1) • 단일 책임 원칙 (Single Responsibility Principle, SRP) • 클래스를 수정할 때는 수정해야 하는 이유가 2개 이상 있으면 안 됨
  18. 18. SOLID(2) • 개방/폐쇄 원칙 (Open/Closed Principle, OCP) • 소프트웨어 개체(클래스, 모듈, 함수)는 확장은 개방적이고, 수정은 폐 쇄적이어야 한다 – 버트란드 메이어
  19. 19. SOLID(3) • 리스코프 치환 원칙 (Liskov Substitution Principle, LSP) • 자료형 S가 자료형 T의 하위형이라면, 프로그램이 갖추어야 할 속성들 (정확성, 수행되는 작업 등)의 변경사항 없이, 자료형 T의 객체를 자료 형 S의 객체로 교체(치환)할 수 있어야 한다는 원칙
  20. 20. SOLID(4) • 인터페이스 분리 원칙 (Interface Segregation Principle, ISP) • 클라이언트는 사용하지 않는 인터페이스에 의존하게 강요받으면 안 됨
  21. 21. SOLID(5) • 의존성 역전 원칙 (Dependency Inversion Principle, DIP) • 스프링에서 의존성 주입을 생각!
  22. 22. 테스트 • 한 번에 한 가지
  23. 23. 동시성(1) • callback 대신 promise
  24. 24. 동시성(2) • promise 대신 Async/Await(ES2017/ES8)
  25. 25. 포매팅 • 일관된 대소문자 사용
  26. 26. 주석(1) • 가장 좋은 주석은? 없는 주석! • 코드 주석 X
  27. 27. 주석(2) • 코드 이력을 주석으로 남기기 X
  28. 28. 클린코드 결론 • 보이스카웃 원칙: 캠프장은 처음왔을 때보다 더 깨끗하게 해놓 고 떠나라! • 전문가 정신은 지속적인 개선을 의미한다

×