track1 03. 지적 프로그래밍을 위한 넓고 얇은 습관 카카오 서지연
TRANSCRIPT
지적 프로그래밍을 위한 넓고 얕은 습관
줄여서 “지프넓얕” 지금 시작합니다
발표자
서지연
▸ 혹은 치즈
▸ 쑥쑥 자라나는 꼬꼬마 개발자.
▸ 지적 프로그래밍을 하고 싶은 개발자.
▸ 장래희망 : 초고수
▸ twitter.com/seojeee
지적 프로그래밍을 위한 넓고 얕은 습관
지적 프로그래밍이란?
글로벌 초고수 코드?! 잘나가는 오픈소스?!
지적 프로그래밍을 위한 넓고 얕은 습관
지적 프로그래밍
출처 : https://ko.wikipedia.org/wiki/컴퓨터_프로그래밍
知的컴퓨터 프로그래밍(영어: computer programming) 또는 간단히 프로그래밍(programming, 문화어: 프로그람 작성) 혹은 코딩(coding)은 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술을 말한다.
지적 프로그래밍을 위한 넓고 얕은 습관
지적 프로그래밍이란?
▸ 글로벌 초고수 코드?!
▸ 잘나가는 오픈소스?!
▸ 내가 생각하는 지적 프로그래밍
▸ 아름다운 코드를 작성하고
▸ 스스로 검증 작업을 하며
▸ 성장하는 프로그래밍
▸ 글로벌 초고수 코드?!
▸ 잘나가는 오픈소스?!
당신이 반복하는 일은 당신을 규정한다.
위대함은 하나의 행위가 아니라 습관에서 온다.
Aristoteles
지적 프로그래밍을 위한 넓고 얕은 습관
지적 프로그래밍
습관
발표내용
발표 내용
▸ 대상자
▸ 스마트하게 개발하고 싶은 개발자.
▸ 개발 과정을 더 탄탄히 다지고 싶은 개발자.
▸ 이번 발표에서는
▸ 정해진 시간, 제한된 환경…
▸ Git과 GitHub을 이용.
발표내용
오늘의 진짜 발표 내용
#1 아름다운 코드 작성 습관!#2 자동 검증 습관!#3 성장하는 습관!
#1 아름다운 코드 작성 습관
#1 아름다운 코드 작성 습관 - 룰
아름다운 코드 작성 방법☝룰을 정하자!
#1 아름다운 코드 작성 습관 - 룰
#1 아름다운 코드 작성 습관 - 룰
#1 아름다운 코드 작성 습관 - 룰
상황
바뀐 부분 관련해서 파일 몇 줄 고쳤어요~ 코드 리뷰 해주세요!
넵! 바로 확인해 보겠습니다!!
몇 줄이요..? 몇 백 줄이 아니고요? 어디 고친 거예요?
#1 아름다운 코드 작성 습관 - 룰
가독성👎
유지보수👎
코드 확장👎
출처 : https://medium.com/@hoffa/400-000-github-repositories-1-billion-files-14-terabytes-of-code-spaces-or-tabs-7cfe0b5dd7fd#.gvg2zobm8
#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