Developer Experience Development
안녕하세요. 커뮤니케이션 앱 LINE의 Android 클라이언트 팀 Ishikawa입니다. 이 글은 '코드 가독성에 관한 프레젠테이션'을 소개하는 비정기 연재 블로그의 다섯 번째 글(1편, 2편, 3편, 4편)이자 마지막 글입니다. 이번 글에서는 8장 '리뷰'에 관해 설명한 뒤 본 연재의 요점을 정리하겠습니다. 8장: 리뷰 코드 리뷰를 지속 가능한 소프트웨어 개발을 위한 수단으로 사용하여 코드의 가독성과 견고함을 향상시키는 것은 효과적인 방법입니다. 코드를 리뷰하면 해당 코드의 품질이 향상되는 것뿐 아니라 정보가 공유되면서 팀 전체의 기술력이 향상되는 효과도 있습니다. 다만, 코드 리뷰 자체가 개발 과정에서 병목 구간이 되지 않도록 조심해야 하는데요. 본 장에서는 코드 리뷰할 때 주의해야 할 점에 관해서 리뷰를 받는 쪽과 하는 쪽으로 나누어 설명하겠습니다. 참고. 이 글에서는 GitHub을 사용해 코
안녕하세요. 커뮤니케이션 앱 LINE의 Android 클라이언트 팀 Ishikawa입니다. 이 글은 '코드 가독성에 관한 프레젠테이션'을 소개하는 비정기 연재 블로그의 네 번째 편입니다. 지난 글은 여기(1편, 2편, 3편)를 참고하세요. 이번 글은 유형 간의 '의존성'과 관련된 이야기로, 6장과 7장에 관해 설명하겠습니다. 설계나 코딩할 때 유형 간의 의존성이 발생하는 것은 피할 수 없습니다. 예를 들어 어떤 유형을 상속하는 인스턴스를 인자로 받거나, 반환값으로 사용하거나, 메서드를 호출하면 그 유형에 대한 의존성이 발생하는데요. 이때 의존성을 계획 없이 발생시키면 코드의 가독성과 견고함이 저하됩니다. 이번 글에서는 의존성을 어떻게 다루면 좋을지에 관해 결합도와 방향, 중복, 명시성의 네 가지 관점에서 설명하겠습니다. 결합도(coupling) 결합도란 의존성의 강도를 나타내는 지표
안녕하 세요. 커뮤니케이션 앱 LINE의 Android 클라이언트 팀 Ishikawa입니다. 이 글은 '코드 가독성에 관한 프레젠테이션'을 소개하는 비정기 연재 블로그의 세 번째 편입니다(지난 글은 여기(1편, 2편)를 참고하세요). 이번 글은 특정 유형에 한정된 이야기로, 4장 '상태(state)'와 5장 '절차(procedure)'에 관해 설명하겠습니다. 4장: 상태 프로그램에서 실행 상태(state)의 수나 상태 변환을 줄이면 프로그램 전체 동작을 이해하는 게 쉬워지는데요. 특히 잘못된 상태나 변환을 줄이면 코드의 가독성과 견고성을 크게 향상시킬 수 있습니다(단, 상태를 줄이는 작업은 어디까지나 가독성과 견고성을 향상시키기 위한 수단으로 생각해야지 그 자체가 목표가 되어서는 안된다는 점을 유의하시기 바랍니다). 이번 장에서는 가독성과 견고성을 향상시키는 방법으로 '잘못된
안녕하세요. 커뮤니케이션 앱 LINE의 Android 클라이언트 팀 Ishikawa입니다. 이 글은 코드 가독성에 대한 프레젠테이션을 소개하는 비정기 연재 블로그의 두 번째 편입니다(첫 번째 편을 먼저 읽고 오시면 좋습니다). 이번 글에서는 프로그램 내에 작성하는 자연어에 관한 내용인 2장 '명명'과 3장 '주석'에 대해 설명하겠습니다. 2장: 명명 프로그램을 작성할 때는 클래스나 리소스 등의 다양한 대상에 이름을 붙여야 합니다. 그 이름이 정확하고 명확하며 잘 기술되어 있을수록 코드가 더 잘 읽힙니다. 2장에서는 어떤 이름이 코드 가독성을 높여 주는지에 대해서, 특히 유형(클래스, 인터페이스 등)과 값(변수, 필드, 파라미터 등), 절차(함수, 메서드, 서브루틴 등)에 초점을 맞춰 해설하겠습니다. 단, 여기에서 설명하는 내용은 어디까지나 일반론이니, 사용하는 언어, 플랫폼, 프로젝트에 따라 명명 규칙이 정해져 있을 경우 그 규칙
안녕하세요. 커뮤니케이션 앱 LINE의 Android 클라이언트 팀 Ishikawa입니다. 얼마 전에 코드 가독성에 관한 프레젠테이션을 공개했는데요. 앞으로 아래 프레젠테이션에 관한 간략한 해설을 본 블로그에 비정기적으로 연재할 예정입니다. 이번에는 프레젠테이션 개요와 함께 첫 장인 '도입과 원칙'에 관해 말씀드리겠습니다. 프레젠테이션 개요 제가 공개한 프레젠테이션은 코드 가독성을 높이기 위한 아이디어를 정리한 것으로 아래와 같이 8개 장으로 구성되어 있습니다. 도입과 원칙: 코드 가독성의 중요성, 프로그래밍 원칙 명명: 이름이 나타내는 내용, 문법, 언어 선택 주석: 문서화, 인라인 주석 상태: 상태 변환 관리, 불필요한 상태 삭제 절차: 함수 및 메서드 흐름 명시화 및 분리 종속성 I: 2가지 유형 사이의 의존도 종속성 II: 종속성의 방향, 중복, 명시성