목록Computer (246)
Machineboy空
코드의 좋고 나쁨을 판단하는 지표코드 복잡성과 가독성 등의 품질 지표를 코드 메트릭 또는 소프트웨어 메트릭이라고 부릅니다.실행되는 코드의 줄 수 주석을 제외하고, 실행되는 로직을 포함하는 코드의 줄 수를 의미합니다. 줄 수가 많으면 많을수록, 너무 많은 일을 하고 있을 가능성이 높습니다. 메서드 내부의 줄 수 가 늘어나면, 메서드 내부에서 다루는 변수와 조건 분기가 많을 것입니다. 변수가 많아지고, 조건 분기로 인해 내부 로직이 복잡해지면 코드를 읽고 이해하기 힘들어질 것입니다.순환 복잡도(cyclomatic complexity)코드의 구조적인 복잡함을 나타내는 지표입니다. 조건 분기, 반복 처리, 중첩은 복잡도를 높입니다. 이 책에서 다룬 조기 리턴, 전략 패턴, 일급 컬렉션 등의 테크닉을 활용하면 복..

가장 단순한 형태의 프로그램은 변수에 데이터를 담는 것이다. 하지만 데이터를 리스트에 저장하거나, 이름/값 쌍으로 저장하거나 심지어는 이 두 가지의 조합을 사용하는 것에 대해 고민하게 될 것이다. 자료 구조는 여러분이 사용하는 프로그래밍 언어에 따라 다르겠지만, 대체로 배열(array), 리스트(list), 해시(Hash), 해시맵(hashmap), 사전(dictionary), 연관 배열(associative array), 맵(map) 등이 있다. 언어마다 다른 명칭을 사용한다 하더라도 그 의미와 개념은 같다. 자료 구조를 이용하여 데이터를 서로 묶을 수 있다. 배열은 값을 순서대로 저장하는 자료 구조다.colors = ["Red", "Green", "Blue"]보통 배열에 들어 있는 아이템 순서는 고..

어떻게 하면 컴퓨터로 하여금 동일한 일을 반복하도록 할 수 있을까? 구조화된 프로그램 이론에 따르면 컴퓨터 프로그램으로 문제를 해결하기 위해 세 가지 기본 제어구조를 사용할 수 있다고 하는데,이 세 가지 제어구조는 순서(sequencing), 선택(selection), 반복(repetition)이다. 순서는 알맞은 순서로 한 단계에서 다음 단계로 처리하는 것을 유식하게 표현한 것이다.선택은 조건에 따라 의사 결정하는 것을 뜻한다.반복은 조건이 참인 동안 별도로 지정한 명령 세트를 반복시키는 것을 의미한다.예제 28. 숫자 추가다섯 개의 숫자를 입력 받은 다음 입력 받은 수의 합을 계산하는 프로그램을 작성하라.#include #include using namespace std;int a, sum;int m..

프로그램의 일부 로직을 함수를 사용하여 별도로 추상화하면 코드가 더 읽기 쉬워지고 유지보수도 용이하다. 함수는 복잡한 연산을 추상화시켜 줄 뿐만 아니라 재사용을 가능케 하는 요소이기도 하다. 카드 대금을 상환하는 데는 생각보다 더 오랜 시간이 걸린다. 그리고 상환하는 공식 또한 매우 복잡하다. 이러한 공식의 복잡도를 함수로 숨기는 것 역시 여러분의 코드가 조직화되도록 하는 데 도움이 된다. 대규모 함수는 사용하기도 어렵고 관리하는 것도 쉽지 않다. 그래서 로직을 나누어 여러 개의 작은 함수로 구성하는 것이 훨씬 좋다. 프로그램은 이렇게 만들어진 함수들을 차례로 호출하기만 하면 된다.예제 24. 에너그램 점검두 개의 문자열을 비교하여 서로가 애너그램(anagram)인지를 검사하는 프로그램을 작성하라.*애너..

프로그램에서 의사결정은 어떻게 해야 할까? 조건에 맞지 않는 값이 들어왔을 때 행동해야 할 일을 정의하고 싶을 때, if-else 문 사용하기양자택일 이상의 선택을 해야할 때, if - else if - else,선택해야하는 경우가 많다면 switch문 등 경우에 따라 사용하면 된다. 예제 14. 세금 계산기문제)주 이름이 WI 인 경우 세율을 5.5%위스콘시 거주자에 해당하는 소계, 세율, 합계 금액을 출력하지만다른 주에 거주하는 경우에는 합계 금액만 출력한다.조건)- else문 사용 불가출력)What is the order amount? 10What is the state? WIThe subtotal is $10.00The tax is $0.55The total is $10.55What is orte..

예제 7. 직사각형 방의 면적 조건)1feet = 0.3048m출력)What is the length of the room in feet? 15What is the width of the room in feet? 20You entered dimensions of 15 feet by 20 feetThe area is300 squre feet22.871 square meters#include #include using namespace std;int length, width;int main() { cout > length; cout > width; cout 예제 8. 피자 파티출력 예)How many people? 8How many pizzas do you have? 2How many pie..

예제 1. 인사하기출력 예)What is your name? BrianHello, Brian, nice to meet you!#include using namespace std;string input;int main() { cout > input; cout 예제 2. 글자 수 세기출력 예)What is the input string? HomerHomer has 5 characters.#include using namespace std;string input;int main() { cout > input; string num = to_string(input.length()); cout 예제 3. 따옴표 출력출력 예)What is the quote? These aren't the ..

1️⃣ 여러 컴퓨터에서 원격 저장소 함께 사용하기원격 저장소를 기존에 연결된 지역 저장소 외에 다른 지역 저장소에서 사용하려면 원격 저장소에 담긴 내용 전체를 지역 저장소로 가져와야 한다.git clone : 원격 저장소를 지역 저장소로 똑같이 가져오는 것을 복제한다. 혹은 '클론(clone)'이라고 한다.$ git clone 복사한 주소 붙여넣기 git_home//원격 저장소 확인$ git remote -vpull과 push 습관화 하기!2️⃣ 원격 브랜치 정보 가져오기원격 브랜치에서 정보를 가져와 가져온 정보를 지역 저장소에 병합하기.fetch : 원격 저장소의 정보를 가져오는 기능pull : 원격 저장소의 소스를 내려받는다.merge : 병합하겠다.3️⃣ 협업의 기본 알아보기여러 사람이 협업한다면 ..