Track1 03. 지적 프로그래밍을 위한 넓고 얇은 습관 카카오 서지연

Preview:

Citation preview

지적 프로그래밍을 위한 넓고 얕은 습관

줄여서 “지프넓얕” 지금 시작합니다

발표자

서지연

▸ 혹은 치즈

▸ 쑥쑥 자라나는 꼬꼬마 개발자.

▸ 지적 프로그래밍을 하고 싶은 개발자.

▸ 장래희망 : 초고수

▸ twitter.com/seojeee

지적 프로그래밍을 위한 넓고 얕은 습관

지적 프로그래밍이란?

글로벌 초고수 코드?! 잘나가는 오픈소스?!

지적 프로그래밍을 위한 넓고 얕은 습관

지적 프로그래밍

출처 : https://ko.wikipedia.org/wiki/컴퓨터_프로그래밍

知的컴퓨터 프로그래밍(영어: computer programming) 또는 간단히 프로그래밍(programming, 문화어: 프로그람 작성) 혹은 코딩(coding)은 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술을 말한다.

지적 프로그래밍을 위한 넓고 얕은 습관

지적 프로그래밍이란?

▸ 글로벌 초고수 코드?!

▸ 잘나가는 오픈소스?!

▸ 내가 생각하는 지적 프로그래밍

▸ 아름다운 코드를 작성하고

▸ 스스로 검증 작업을 하며

▸ 성장하는 프로그래밍

▸ 글로벌 초고수 코드?!

▸ 잘나가는 오픈소스?!

당신이 반복하는 일은 당신을 규정한다.

위대함은 하나의 행위가 아니라 습관에서 온다.

Aristoteles

지적 프로그래밍을 위한 넓고 얕은 습관

지적 프로그래밍

습관

발표내용

발표 내용

▸ 대상자

▸ 스마트하게 개발하고 싶은 개발자.

▸ 개발 과정을 더 탄탄히 다지고 싶은 개발자.

▸ 이번 발표에서는

▸ 정해진 시간, 제한된 환경…

▸ Git과 GitHub을 이용.

발표내용

오늘의 진짜 발표 내용

#1 아름다운 코드 작성 습관!#2 자동 검증 습관!#3 성장하는 습관!

#1 아름다운 코드 작성 습관

#1 아름다운 코드 작성 습관 - 룰

아름다운 코드 작성 방법☝룰을 정하자!

#1 아름다운 코드 작성 습관 - 룰

#1 아름다운 코드 작성 습관 - 룰

#1 아름다운 코드 작성 습관 - 룰

상황

바뀐 부분 관련해서 파일 몇 줄 고쳤어요~ 코드 리뷰 해주세요!

넵! 바로 확인해 보겠습니다!!

몇 줄이요..? 몇 백 줄이 아니고요? 어디 고친 거예요?

#1 아름다운 코드 작성 습관 - 룰

가독성👎

유지보수👎

코드 확장👎

#1 아름다운 코드 작성 습관 - 룰

룰의 종류▸ Google Style Guides

▸ https://github.com/google/styleguide

▸ Scala Style Guide

▸ http://docs.scala-lang.org/style/

▸ NASA C Style Guide

▸ http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf

▸ Groovy Style Guide

▸ http://groovy-lang.org/style-guide.html

▸ Oracle - Code Conventions for the Java Programming Language

▸ http://www.oracle.com/technetwork/java/codeconvtoc-136057.html

▸ JavaScript Style Guide

▸ https://github.com/airbnb/javascript

▸ Linux kernel coding style

▸ https://www.kernel.org/doc/Documentation/CodingStyle

▸ Google's R Style Guide

▸ http://web.stanford.edu/class/cs109l/unrestricted/resources/google-style.html

▸ w3schools - HTML5 Style Guide and Coding Conventions

▸ http://www.w3schools.com/html/html5_syntax.asp

▸ GNU Coding Standards

▸ https://www.gnu.org/prep/standards/standards.html

▸ Haskell Programming guidelines

▸ https://wiki.haskell.org/Programming_guidelines

▸ Mozilla - Coding Style

▸ https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style

#1 아름다운 코드 작성 습관 - 룰

#1 아름다운 코드 작성 습관 - 룰

룰의 장점

▸ 변경된 로직 집중

▸ 코드 이해 속도 증가

▸ 코드 확장 대한 고민 단축

Readability👍Maintainability👍Expandability👍

#1 아름다운 코드 작성 습관 - 룰

최고의 룰 🙅

그때는 맞고 지금은 틀리다 💁

한 코드 베이스 = 하나의 룰 🙆

#1 아름다운 코드 작성 습관 - 코드리뷰

코드리뷰를 하자!아름다운 코드 작성 방법✌

#1 아름다운 코드 작성 습관 - 코드리뷰

1. 자동화된 코드 리뷰 💻2. 사람 냄새나는 수동 코드 리뷰)

#1 아름다운 코드 작성 습관 - 코드리뷰

1. 자동화된 코드리뷰 - SONAR QUBE

▸ 정적 코드 분석 툴

▸ 7가지 기준을 통해 코드 품질시각화

▸ 웹페이지로 대시보드 및 코드 분석 결과 제공 https://github.com/integrations/sonarqube

#1 아름다운 코드 작성 습관 - 코드리뷰

#1 아름다운 코드 작성 습관 - 코드리뷰

#1 아름다운 코드 작성 습관 - 코드리뷰

#1 아름다운 코드 작성 습관 - 코드리뷰

2. 사람 냄새 나는 수동 코드리뷰

1. 옆 사람과 나란히 앉아 바뀐 부분 설명하기

#1 아름다운 코드 작성 습관 - 코드리뷰

2. 사람 냄새 나는 수동 코드리뷰

2. 화면을 보며 다같이 하기

#1 아름다운 코드 작성 습관 - 코드리뷰

2. 사람 냄새 나는 수동 코드리뷰3. GitHub의 pull request 이용하기

▸ 온라인

▸ 시간, 공간의 제약 X

▸ 넘나 소중한 코멘트

▸ Work In Progress - 확인과 수정을 함께

▸ Issue & PR Templates - 가이드 라인 제공.

▸ https://github.com/blog/2111-issue-and-pull-request-templates

- PULL REQUEST

#1 아름다운 코드 작성 습관 - 코드리뷰

#1 아름다운 코드 작성 습관 - 코드리뷰

무플 .. 넘나 외로운 것

#1 아름다운 코드 작성 습관 - 코드리뷰

👍

👎

#1 아름다운 코드 작성 습관 - 코드리뷰

http://docs.pullapprove.com/

#1 아름다운 코드 작성 습관 - 코드리뷰

X

#1 아름다운 코드 작성 습관 - 코드리뷰

장점

잔소리가 아닌 코드 커뮤니케이션 😘

▸ 전체적인 코드 퀄리티 상승

▸ 막 코딩 방지

▸ 실전! 좋은 코드

▸ 생각지 못했던 좋은 방법 발견

▸ 장애 요소 미리 발견

▸ (팀) 코드 베이스 공감

▸ 코드를 다시 한번 검증

▸ Clean Code 역량 향상

▸ 더 예쁜 코딩 스타일 학습

▸ 기본 구조를 망가트리는 코드 방지

▸ 내 능력 자랑 가능

▸ 코드 & 로직 공유

▸ 등등등

▸ 넘나 많은 것!

지적 프로그래밍을 위한 넓고 얕은 습관

#1 아름다운 코드 작성 습관!

#2 자동 검증 습관!#3 성장하는 습관!

룰�&�코드리뷰

#2 자동 검증 습관

#2 자동 검증 습관

상황

코드 리뷰 CLOSE 합니다. 헤헤

넵! 👍 이제 나도 작업해야징ㅋ GIT PULL!!

(고치다가…) 엇 빌드 에러가 나네? 내가 그런건가? 아님 원래 나던 에러인가?

…언제 부터나던거야?!!!

#2 자동 검증 습관

https://jenkins.io/ https://www.go.cd/

CONTINUOUS INTEGRATION

#2 자동 검증 습관

TRAVIS-CI

▸ 오픈 소스 무료

▸ 다양한 플랫폼들과 Integration

▸ 다양한 언어 Support

▸ 29가지 : JAVA, JAVASCRIPT, RUST, SMALLTALK …

#2 자동 검증 습관

#2 자동 검증 습관

무플도 혼자서도 괜찮아

#2 자동 검증 습관

https://github.com/integrations/codacy

https://github.com/integrations/codecov

https://github.com/integrations

#2 자동 검증 습관

#2 자동 검증 습관

장점

코드에 대한 확신 ✌

코드 퀄리티 상승 👏

테스트 실패, 빌드 실패를 미리 미리 ☝

지적 프로그래밍을 위한 넓고 얕은 습관

#1 아름다운 코드 작성 습관!#2 자동 검증 습관!

#3 성장하는 습관!Continuous�Integration�&�Code�Quality

#3 성장하는 습관

#3 성장하는 습관

1. Follow! 👂2. Follow Me! ✋

#3 성장하는 습관

FOLLOW! 방법 1. Github, Twitter 에서 user follow!

#3 성장하는 습관

FOLLOW! 방법 1. Github, Twitter 에서 user follow!

한국 깃헙 랭킹 : http://rankedin.kr/

#3 성장하는 습관

FOLLOW! 방법 1. Github, Twitter 에서 user follow!

전세계 깃헙 랭킹 : https://github-ranking.com/

#3 성장하는 습관

FOLLOW! 방법 1. Github, Twitter 에서 user follow!

#3 성장하는 습관

FOLLOW! 방법 2. 최신 트랜드 글들을 follow!

devnews: http://devnews.kr/

#3 성장하는 습관

FOLLOW! 방법 3. 컨퍼런스, 커뮤니티 활동들을 follow!

#3 성장하는 습관

FOLLOW ME! 방법 1. SNS

#나중에봐야징ㅋ

#3 성장하는 습관

▸ 배운 것을 스스로 정리. 나의 것으로.

▸ 누군가보다 한 걸음만 앞서도 뒤 따라오는 사람을 도울 수 있다.

▸ 큰 컨퍼런스, 사내 강연, 팀 내 스터디, 온라인 발표,옆사람에게 알려주기.

▸ 잘 못해도.. 이불킥해도.. 나 빼고 다들 기억 못한다.

FOLLOW ME! 방법 2. 발표하기

Don’t be afraid to look like an idiot 😎

#3 성장하는 습관

지적 프로그래밍을 위한 넓고 얕은 습관

#1 아름다운 코드 작성 습관!#2 자동 검증 습관!#3 성장하는 습관!많이�듣고�내것으로�만들어�공유하기

지적 프로그래밍을 위한 넓고 얕은 습관

#1 아름다운 코드 작성 습관!

#2 자동 검증 습관!

#3 성장하는 습관!

코드 스타일 가이드 / 코드 리뷰

Continuous Integration / Code Quality Monitoring / Code Coverage

지식 경험 습득 / 지식 경험 공유

지적 프로그래밍을 위한 넓고 얕은 습관

지적 프로그래밍을 위한 넓고 얕은 습관

▸ 자신과 맞지 않은 환경이라면 직접 찾아보기!

▸ 너무 얕았다면…

#지프넓얕 #나프다 #IAMPROGRAMMER

미션 💪

THANK YOU

Recommended