분류 전체보기
[Clean Code] 3장 함수
Intro 어떤 프로그램이든 가장 기본적인 단위는 함수다. 이 장은 함수를 잘 만드는 법을 소개한다. 길이가 길고, 중복된 코드에, 괴상한 문자열에, 낯설고 모호한 자료 유형과 API로 이루어진 함수는 이해하기 어렵다. 그렇다면 읽기 쉽고 이해하기 쉽고 의도를 분명히 표현하는 함수를 어떻게 구현할 수 있을까? 함수에 어떤 속성을 부여해야 처음 읽는 사람이 프로그램 내부를 직관적으로 파악할 수 있는가? 작게 만들어라 함수를 만들 때 최대한 '작게!' 만들어야 한다. public static String renderPageWithAndTeardowns( PageData pageData, boolean isSuite ) throws Exception { boolean isTestPage = pa..
[Clean Code] 2장 의미 있는 이름
Intro 소프트웨어에서 이름은 언제나 쓰인다. 이 장에선 이름을 잘 짓는 간단한 규칙을 몇 가지 소개한다. 의도를 분명히 밝혀라 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 많다. 변수(함수, 클래스)의 이름은 따로 주석이 필요하지 않을 정도로 변수의 존재 이유, 기능, 사용 방법이 드러나야한다. 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워진다. 의미를 함축하거나 독자가 사전지식을 가지고 있다고 가정하면 안된다. 예시 1 // Bad - d는 아무 의미도 드러나지 않음 int d; // 경과 시간(단위: 날짜) // Good int elapsedTimeDays; int daysSinceCreation; int daysSincedModification; int f..
[자바의 정석] 5장 배열
배열 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 한다. 배열의 선언과 생성 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대활호[]를 붙이면 된다. // 배열을 선언 int[] score; String[] name; // 배열을 생성 score = new int[5]; name = new String[4]; 배열의 길이와 인덱스 생성된 배열의 각 저장공간을 배열의 요소(element)라고 하며, 인덱스(index)는 배열의 요소마다 붙여진 일련번호로 각 요소를 구별하는데 사용된다. 인덱스의 범위는 0부터 배열길이 - 1까지다. 유효한 범위의 값을 index로 사용하면, 컴파일을 무사히 마쳤더라고 실행 시에 ArrayIndexOutOfBoundsException에러..
[자바의 정석] 4장 조건문과 반복문
조건문 조건문은 조건식과 문장을 포함하는 블럭으로 구성되어 있으며, 조건식의 연산결과에 따라 실행할 문장이 달라져서 프로그램의 실행흐름을 변경할 수 있다. if 문 if 문은 가장 기본적인 조건문이다. if (조건식) { // 조건식이 true일 때 수행될 문장 } 블럭 내의 문장이 하나뿐 일 때는 괄호를 생략할 수 있지만 가능하면 생략하지않고 사용하는 것이 바람직하다. if-else 문 else블럭은 조건식이 결과가 참이 아닐 때 else블럭의 문장을 수행하라는 뜻이다. if (조건식) { // 조건식이 true일 때 수행될 문장 } else { // 조건식이 false일 때 수행횔 문장 } 처리해야할 경우의 수가 셋 이상인 경우에는 if-else if 문을 사용한다. if (조건식 1) { // 조건..
[자바의 정석] 3장 연산자 (Operator)
연산자와 피연산자 연산자는 연산을 수행하는 기호(+, -, *, / 등)를 뜻하고, 피연산자는 연산자의 작업 대상(변수, 상수, 리터럴, 수식)을 뜻한다. 연산자의 종류 종류 연산자 설명 산술 연산자 + - * / % > 사칙 연산과 나머지 연산 비교 연산자 > = =< == != 크고 작음과 같고 다름을 비교 논리 연산자 && || ! & | ^ ~ AND와 OR로 조건을 연결 대입 연산자 = 우변의 값을 좌변에 저장 기타 (type) ?: instancoof 형변환 연산자, 삼항 연산자, instanceof연산자 산술 변환 산술 변환이란 연산 수행 직전에 발생하는 피연산자의 자동 형변환을 말한다. 두 피연산자의 타입을 같게 일치 시킨다(보다 큰 타입으로) 피연산자의 타입이 int보다 작은 타입이..
[자바] 프로그래머스 - H-Index (Level 2)
🔗 문제 링크 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 📝 문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n 편 중, h번 이상 인용된 논문이 h 편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은..