-
메소드 정리 : Inline TempProgramming/리팩토링 2020. 9. 4. 15:27
참고자료 http://refactoring.guru/inline-temp Inline Temp Tired of reading? No wonder, it takes 7 hours to read all of the text we have here. Try our interactive course on refactoring. It offers a less tedious approach to learning new stuff. Let's see... refactoring.guru 정의 간단한 수식의 결과값을 가지는 임시 변수가 있고, 그 임시변수가 리팩토링을 하는데 방해가 된다면, 임시변수를 잠조하는 부분을 원래의 수식으로 바꾸는 작업이다. 기존 예시 boolean hasDiscount(Order order) ..
-
메소드 정리 : Inline MethodProgramming/리팩토링 2020. 9. 4. 15:20
C++의 인라인 함수랑은 다른 듯..ㅎㅎ 자료참고. http://factoring.guru/inline-method Inline Method Tired of reading? No wonder, it takes 7 hours to read all of the text we have here. Try our interactive course on refactoring. It offers a less tedious approach to learning new stuff. Let's see... refactoring.guru 정의 함수의 몸체가 함수의 이름만큼 명확할 때, 호출하는 곳에 함수의 몸체를 넣고 메서드를 지우는 작업 예시 // Exameple Code int getRating() { return (m..
-
메소드 정리 : Extract MethodProgramming/리팩토링 2020. 9. 4. 14:58
참고자료 https://refactoring.guru/refactoring/catalog Catalog of Refactoring Bloaters are code, methods and classes that have increased to such gargantuan proportions that they are hard to work with. Usually these smells do not crop up right away, rather they accumulate over time as the program evolves (and especially when nobody m refactoring.guru 정의 그룹으로 함께 묶을 수 있는 코드 조각이 있으면, 코드의 목적이 잘 드러나도록 함수의 ..
-
[C++] 객체와 클래스 연습문제 (2)Programming/프로그래밍 2020. 8. 16. 23:25
10장 연습문제 5번부터 8번까지 풀이다~ 5. 다음과 같은 구조체 선언이 있다고 가정하자. struct customer { char fillname[35]; double paymer; }; 고객들을 나타내는 구조체들을 스택에 추가하고 삭제하는 프로그램을, Stack 클래스 선언을 이용하여 작성하라. 고객이 삭제될 때마다, 그 고객이 지불한 금액을 총 수입에 추가해야 하고, 그 총 수입을 보고해야 한다. Stack 클래스를 변경하지 않고 그대로 사용해야 한다. 다만 customer 형을 typedef 선언으로 Item으로 변경한다. 10_5.hpp struct customer { char fullname[35]; double paymer; }; typedef customer Item; // 스택을 구현하..
-
[C++] 객체와 클래스 연습문제 (1)Programming/프로그래밍 2020. 8. 14. 23:59
C++ 기초 플러스 10장 연습문제 풀이를 해보았다. 1. 연습 문제 5에서 서술한 클래스를 위한 메서드 정의들을 제공하라. 모든 메서드들이 바르게 동작하는지 보여주는 짧은 프로그램을 하나 작성하라. ( account.h , account.cpp , useaccnt.cpp ) account.h, account.cpp #include class BankAccount { private: std::string name; std::string acctnum; double balance; public: BankAccount(std::string client, std::string num, double bal = 0.0); void show() const; void deposit(double cash); void ..
-
[C++] 함수 - C++ 의 프로그래밍 모듈 (2)Programming/프로그래밍 2020. 8. 7. 00:47
C++ 기초플러스 7장. 연습문제 풀이 6 ~ 10번 이어서 작성합니다. 기능적으로 필요한 부분은 문제 요구사항에 따라 작성을 하였으며 최대한 함수를 구현함으로써 문제를 해결해 나가도록 하였습니다. 6. 다음과 같은 함수를 사용하는 프로그램을 작성하라. Fill_array()는 double형 값들의 배열 이름과 배열 크기를 매개변수로 취한다. 이 함수는 배열에 저장할 double형 값들을 입력하라는 프롬프트를 표시한다. 배열이 가득 찼거나, 숫자가 아닌 것이 입력되면 입력받기를 멈추고, 그때까지 입력 받은 값의 개수를 리턴한다. Show_array()는 double형 값들의 배열 이름과 배열 크기를 배개변수로 취하고, 배열의 내용을 출력한다. Reserve_array()는 double형 값들의 배열 이름..
-
[C++] 함수 - C++의 프로그래밍 모듈 (1)Programming/프로그래밍 2020. 8. 6. 00:12
C++ 기초플러스 7장. 연습문제 풀이 1 ~ 5번 함수에 관한 내용이므로 문제풀이를 웬만하면 함수를 구현하여 풀어내도록 한다. 1. 쌍을 이루는 두 수를 반복해서 입력할 것을 사용자에게 요구하는 프로그램을 작성하라. 쌍을 이루는 두 수 중에 적어도 어느 하나가 0으로 입력될 때까지 입력은 계속된다. 프로그램은 각 쌍에 대하여 두 수의 조화평균을 계산하는 함수를 사용한다. 그 함수는 계산 결과를 main()에 리턴해야 하고, main()은 그 결과를 보고해야 한다. 두 수의 조화평균은 역수들의 평균을 구한 다음, 다시 그것의 역수를 취하면 된다. 조화 평균은 다음과 같은 공식으로 구할 수 있다. 조화 평균 = 2.0 * x * y / ( x + y ) 코드 #include double harmonic_m..
-
객체 생성 : 싱글턴 패턴 ( Singleton Pattern )Programming/패턴 2020. 5. 4. 22:59
GOF 디자인 패턴을 참고합니다. 객체를 생성하는 방법들 중에 하나인 싱글턴 패턴. 정의 - 오직 한 개의 클래스 인스턴스만 갖도록 보장하며, 전역적인 접근점을 제공한다고 한다. 사용 이유 - 어떠한 클래스는 하나의 인스턴스만을 갖도록 하는 것이 좋은 것이 있다. - 예를 들어, 많은 프린트가 있다해도 스풀은 하나여만 하고, 윈도우 관리자도 오직 하나, 한 회사에서 하나의 회계 시스템만 운영. 활용성 - 유일한 객체가 부모 클래스에서 자식 클래스로 확장되어야 하고, 코드 수정없이 자식 클래스의 인스턴스를 사용할 수 있어야 할 때 사용. 구조 코드 // .h class Singleton { public: static Singleton* Instance(); // 다른 인터페이스는 이곳에 작성을 합니다. v..