SlideShare a Scribd company logo
1 of 62
Download to read offline
코드의 품질
CODE QUALITY
Created by /Ironhee @이철희
명품이라 불리는 제품들은 공통점이 있습니다.
잘 동작합니다. 또한,
부품 하나하나에는
정성과 철학이 담겨있고,
그러한 부품들의 결합은
예술로 느껴지기까지 합니다.
우리는 품질이 높다고 말합니다.
소프트웨어는 어떨까요?
GMAIL
STARCRAFT
이러한 소프트웨어들에도 공통점이 있습니다.
코드가 잘 동작할 뿐만 아니라
잘 정돈되어 있습니다.
즉 코드의 품질이 높습니다.
코드를 제대로 짜지 않는다면...
코드를 수정하거나 추가하기 힘들어집니다.
코드를 이해하기 힘들어집니다.
팀원들에게 비난받을수 있구요.
당신의 코드를 본 팀원은 질문을 할 겁니다.
그리고 야근을 합니다.
코드의 품질을 높이는 방법
반복하지 않기
Don't Repeat Yourself
같은 코드가 중복된다면,
수정도 여러번해야 한다.
Example Data
<ul>
<li class="item" data-id="5">Lee</li>
<li class="item" data-id="3">Kim</li>
<li class="item" data-id="15">Hong</li>
</ul>
BAD
function removeItem (id) {
$('.item[data-id="' + id + '"]').remove();
}
function updateItemText (id, text) {
$('.item[data-id="' + id + '"]').html(text);
}
GOOD
function getItem (id) {
return $('.item[data-id="' + id + '"]');
}
function removeItem (id) {
getItem(id).remove();
}
function updateItemText (id, text) {
getItem(id).html(text);
}
한가지만 하기
Do One Thing
함수는 한 가지를 해야한다.
그 한가지를 잘해야 한다.
그 한가지만을 해야 한다.
BAD
// ... some code
isEdible: function () {
if (this.expirationDate > Date.Now() &&
this.approvedForConsumption === true &&
this.inspectorId !== null) {
return true;
} else {
return false;
}
}
GOOD
// ... some code
isEdible: function () {
return this.isFresh() &&
this.isApproved() &&
this.isInspected();
}
의미있게 이름짓기
Reasonable Naming
BAD
// ... some codes
function checkData ( b, c ) {
return a[ b ][ c ].booleanData1 === true;
}
GOOD
// ... some codes
function getCell( map, x, y ) {
return map[ x ][ y ];
}
function hasBomb ( cell ) {
return cell.hasBomb === true;
}
지뢰찾기에서 사용되는 코드입니다.
 Game Options Help
나쁜 주석 피하기
Avoiding Bad Comment
나쁜 코드에 주석을 달지 마라.
새로 짜라.
BAD
/*
이것은 지뢰찾기 맵에서의 한 방에 지뢰가 있는지 없는지를 확인하는 함수입니다.
======Arguments======
a: 지뢰찾기 맵입니다.
b: 방의 가로 좌표입니다.
c: 방의 세로 좌표입니다.
*/
function checkData ( a, b, c ) {
return a[ b ][ c ].booleanData1 === true;
}
GOOD
function getCell( map, x, y ) {
return map[ x ][ y ];
}
function hasBomb ( cell) {
return cell.hasBomb === true;
}
라이브러리 사용하기
Using Library
우리가 구현하려는 대부분의 기능은
이미 라이브러리로 구현된 경우가 많다.
또한 문서화가 잘 되어있어,
학습비용도 줄어든다.
유지보수 또한 활발하게 이루어진다.
개발, 문서화, 학습 비용을 상당히 아낄 수 있다.
코딩 스타일
Coding Style
많은 사람이 코드를 작성했더라도
마치 한 사람이 작성한 것처럼 보여야 한다.
JQUERY JAVASCRIPT STYLE GUIDE
// Bad
var foo = true;
var bar = false;
var a;
var b;
var c;
// Good
var a, b, c,
foo = true,
bar = false,
arr = [
a,
b,
c
];
Full
AIRBNB JAVASCRIPT STYLE GUIDE
// bad
var items = getItems(),
goSportsTeam = true,
dragonball = 'z';
// good
var items = getItems();
var goSportsTeam = true;
var dragonball = 'z';
Full
자신의 팀에 맞는,
하나의 코딩 스타일 가이드를 선택합시다.
테스트 주도 개발
Test-Driven Development
테스트를 먼저 짜고,
코드를 작성하는 개발 방법.
자세한내용은 켄트벡의 TDD 검색하기!
보이스카우트 규칙
Boy Scout Rule
캠프장은 처음 왔을 때보다
더 깨끗하게 해놓고 떠나라.
코드를 Pull 했을 때 보다,
더 깨끗하게 해놓고 Push 하라.
단순한 설계규칙 지키기
simple design
단순한 설계규칙 4가지
1. 모든 테스트를 실행한다.
2. DRY원칙에 따라 중복을 제거한다.
3. 프로그래머 의도를 표현한다.
4. 클래스와 메서드 수를 최소로 줄인다.
한 Commit 에는 하나의 변경사항만 있어야 한다.
코드의 품질을 어떻게 측정하죠?
코드 품질을 측정하는 유일한 척도 =
분당 내지르는 WTF! 횟수
(WTF: What The F**k)
팀에게 존경받는 개발자가 되고싶나요?
팀에게 고통을 주고싶나요?
당신에게 달려있습니다.
감사합니다
참고자료
켄트벡의 구현패턴
익스트림 프로그래밍
클린 코드
테스트 주도 개발

More Related Content

What's hot

홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019devCAT Studio, NEXON
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010devCAT Studio, NEXON
 
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...Doug Jones
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 SangIn Choung
 
내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드SangIn Choung
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6Rob Eisenberg
 
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~YEONG-CHEON YOU
 
Blazor - the successor of angular/react/vue?
Blazor - the successor of angular/react/vue?Blazor - the successor of angular/react/vue?
Blazor - the successor of angular/react/vue?Robert Szachnowski
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumberNibu Baby
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Mindfire Solutions
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들Chris Ohk
 
Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondKaushal Dhruw
 
JavaScript - Chapter 7 - Advanced Functions
 JavaScript - Chapter 7 - Advanced Functions JavaScript - Chapter 7 - Advanced Functions
JavaScript - Chapter 7 - Advanced FunctionsWebStackAcademy
 
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint NAVER D2
 
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)LanarkSeung
 

What's hot (20)

홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
 
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
 
내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
내 서비스에는 어떤 데이터베이스가 맞는걸까? - 이혁 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6
 
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~
 
Blazor - the successor of angular/react/vue?
Blazor - the successor of angular/react/vue?Blazor - the successor of angular/react/vue?
Blazor - the successor of angular/react/vue?
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
 
Javascript
JavascriptJavascript
Javascript
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
 
Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & Beyond
 
JavaScript - Chapter 7 - Advanced Functions
 JavaScript - Chapter 7 - Advanced Functions JavaScript - Chapter 7 - Advanced Functions
JavaScript - Chapter 7 - Advanced Functions
 
Jest
JestJest
Jest
 
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
 

Viewers also liked

소스코드를 개선하여 효율성과 품질을 향상 시키는 방법
소스코드를 개선하여 효율성과 품질을 향상 시키는 방법소스코드를 개선하여 효율성과 품질을 향상 시키는 방법
소스코드를 개선하여 효율성과 품질을 향상 시키는 방법김진태 Jintae Kim
 
제2부 제조 및 서비스 프로세스 제10장 식스시그마 품질
제2부 제조 및 서비스 프로세스 제10장 식스시그마 품질제2부 제조 및 서비스 프로세스 제10장 식스시그마 품질
제2부 제조 및 서비스 프로세스 제10장 식스시그마 품질Minsuk Chang
 
품질관리 기본교육자료 #
품질관리 기본교육자료 #품질관리 기본교육자료 #
품질관리 기본교육자료 #Woongseok Yun
 
Code Review with Sonar
Code Review with SonarCode Review with Sonar
Code Review with SonarMax Kleiner
 
Configuring SSL on NGNINX and less tricky servers
Configuring SSL on NGNINX and less tricky serversConfiguring SSL on NGNINX and less tricky servers
Configuring SSL on NGNINX and less tricky serversAxilis
 
NuGet Must Haves for LINQ
NuGet Must Haves for LINQNuGet Must Haves for LINQ
NuGet Must Haves for LINQAxilis
 
C# features through examples
C# features through examplesC# features through examples
C# features through examplesZayen Chagra
 
아이폰 사용자 리뷰 2부
아이폰 사용자 리뷰 2부아이폰 사용자 리뷰 2부
아이폰 사용자 리뷰 2부mosaicnet
 
아이폰 사용자 리뷰
아이폰 사용자 리뷰아이폰 사용자 리뷰
아이폰 사용자 리뷰mosaicnet
 
코드의 품질
코드의 품질코드의 품질
코드의 품질totodeung
 
Evolution of c# - by K.Jegan
Evolution of c# - by K.JeganEvolution of c# - by K.Jegan
Evolution of c# - by K.Jegantalenttransform
 
Five Star Mobile App을 위한 테스트 체계 만들기
Five Star Mobile App을 위한 테스트 체계 만들기Five Star Mobile App을 위한 테스트 체계 만들기
Five Star Mobile App을 위한 테스트 체계 만들기Ki Bae Kim
 
C# 6.0 - DotNetNotts
C# 6.0 - DotNetNottsC# 6.0 - DotNetNotts
C# 6.0 - DotNetNottscitizenmatt
 
KAP 업종별기술세미나 11년 4월 #03
KAP 업종별기술세미나 11년 4월 #03KAP 업종별기술세미나 11년 4월 #03
KAP 업종별기술세미나 11년 4월 #03chasarang
 
소프트웨어 QA 및 테스팅 트렌드
소프트웨어 QA 및 테스팅 트렌드소프트웨어 QA 및 테스팅 트렌드
소프트웨어 QA 및 테스팅 트렌드Ki Bae Kim
 

Viewers also liked (20)

소스코드를 개선하여 효율성과 품질을 향상 시키는 방법
소스코드를 개선하여 효율성과 품질을 향상 시키는 방법소스코드를 개선하여 효율성과 품질을 향상 시키는 방법
소스코드를 개선하여 효율성과 품질을 향상 시키는 방법
 
제2부 제조 및 서비스 프로세스 제10장 식스시그마 품질
제2부 제조 및 서비스 프로세스 제10장 식스시그마 품질제2부 제조 및 서비스 프로세스 제10장 식스시그마 품질
제2부 제조 및 서비스 프로세스 제10장 식스시그마 품질
 
품질관리 기본교육자료 #
품질관리 기본교육자료 #품질관리 기본교육자료 #
품질관리 기본교육자료 #
 
Code Review with Sonar
Code Review with SonarCode Review with Sonar
Code Review with Sonar
 
New features in C# 6
New features in C# 6New features in C# 6
New features in C# 6
 
Configuring SSL on NGNINX and less tricky servers
Configuring SSL on NGNINX and less tricky serversConfiguring SSL on NGNINX and less tricky servers
Configuring SSL on NGNINX and less tricky servers
 
NuGet Must Haves for LINQ
NuGet Must Haves for LINQNuGet Must Haves for LINQ
NuGet Must Haves for LINQ
 
Dynamic C#
Dynamic C# Dynamic C#
Dynamic C#
 
C# features through examples
C# features through examplesC# features through examples
C# features through examples
 
아이폰 사용자 리뷰 2부
아이폰 사용자 리뷰 2부아이폰 사용자 리뷰 2부
아이폰 사용자 리뷰 2부
 
아이폰 사용자 리뷰
아이폰 사용자 리뷰아이폰 사용자 리뷰
아이폰 사용자 리뷰
 
코드의 품질
코드의 품질코드의 품질
코드의 품질
 
Evolution of c# - by K.Jegan
Evolution of c# - by K.JeganEvolution of c# - by K.Jegan
Evolution of c# - by K.Jegan
 
Start go
Start goStart go
Start go
 
Five Star Mobile App을 위한 테스트 체계 만들기
Five Star Mobile App을 위한 테스트 체계 만들기Five Star Mobile App을 위한 테스트 체계 만들기
Five Star Mobile App을 위한 테스트 체계 만들기
 
C# 6.0 - DotNetNotts
C# 6.0 - DotNetNottsC# 6.0 - DotNetNotts
C# 6.0 - DotNetNotts
 
KAP 업종별기술세미나 11년 4월 #03
KAP 업종별기술세미나 11년 4월 #03KAP 업종별기술세미나 11년 4월 #03
KAP 업종별기술세미나 11년 4월 #03
 
The Introduction to Refactoring
The Introduction to Refactoring The Introduction to Refactoring
The Introduction to Refactoring
 
소프트웨어 QA 및 테스팅 트렌드
소프트웨어 QA 및 테스팅 트렌드소프트웨어 QA 및 테스팅 트렌드
소프트웨어 QA 및 테스팅 트렌드
 
Functional Programming with C#
Functional Programming with C#Functional Programming with C#
Functional Programming with C#
 

Similar to 코드의 품질 (Code Quality)

C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법선협 이
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기Chris Ohk
 
TDD&Refactoring Day 01: Refactoring
TDD&Refactoring Day 01: RefactoringTDD&Refactoring Day 01: Refactoring
TDD&Refactoring Day 01: RefactoringSuwon Chae
 
카사 공개세미나1회 W.E.L.C.
카사 공개세미나1회  W.E.L.C.카사 공개세미나1회  W.E.L.C.
카사 공개세미나1회 W.E.L.C.Ryan Park
 
객체지향프로그래밍 특강
객체지향프로그래밍 특강객체지향프로그래밍 특강
객체지향프로그래밍 특강uEngine Solutions
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013devCAT Studio, NEXON
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활NAVER Engineering
 
좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVONYounghan Kim
 
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018Kenneth Ceyer
 
분석과 설계
분석과 설계분석과 설계
분석과 설계Haeil Yi
 
I:o extended'19 incheon flutter&beyond web
I:o extended'19 incheon flutter&beyond webI:o extended'19 incheon flutter&beyond web
I:o extended'19 incheon flutter&beyond web성윤 (Hunt) 조
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나JeongHwan Kim
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리Gyuwon Yi
 
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)NAVER D2
 
Hacosa js study 4주차
Hacosa js study 4주차Hacosa js study 4주차
Hacosa js study 4주차Seong Bong Ji
 
[C언어]함수오버로딩과오버라이딩
[C언어]함수오버로딩과오버라이딩[C언어]함수오버로딩과오버라이딩
[C언어]함수오버로딩과오버라이딩jusingame
 

Similar to 코드의 품질 (Code Quality) (20)

C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기
 
TDD&Refactoring Day 01: Refactoring
TDD&Refactoring Day 01: RefactoringTDD&Refactoring Day 01: Refactoring
TDD&Refactoring Day 01: Refactoring
 
카사 공개세미나1회 W.E.L.C.
카사 공개세미나1회  W.E.L.C.카사 공개세미나1회  W.E.L.C.
카사 공개세미나1회 W.E.L.C.
 
객체지향프로그래밍 특강
객체지향프로그래밍 특강객체지향프로그래밍 특강
객체지향프로그래밍 특강
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
 
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
200819 NAVER TECH CONCERT 08_성능을 고민하는 슬기로운 개발자 생활
 
Just java
Just javaJust java
Just java
 
좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON
 
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
 
분석과 설계
분석과 설계분석과 설계
분석과 설계
 
I:o extended'19 incheon flutter&beyond web
I:o extended'19 incheon flutter&beyond webI:o extended'19 incheon flutter&beyond web
I:o extended'19 incheon flutter&beyond web
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나
 
S66 goos-w7
S66 goos-w7S66 goos-w7
S66 goos-w7
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
 
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
 
Hacosa js study 4주차
Hacosa js study 4주차Hacosa js study 4주차
Hacosa js study 4주차
 
C++ api design 품질
C++ api design 품질C++ api design 품질
C++ api design 품질
 
[C언어]함수오버로딩과오버라이딩
[C언어]함수오버로딩과오버라이딩[C언어]함수오버로딩과오버라이딩
[C언어]함수오버로딩과오버라이딩
 

코드의 품질 (Code Quality)