본문 바로가기

전체 글64

TDD기반 개발 프로젝트3-2:re모듈을 활용해 패턴 매칭하기 이제 2. 패턴을 찾아 볼드처리 한다. 을 구현해볼 차례이다. 2. 패턴을 찾아 볼드처리 한다. 을 구현 마찬가지로 테스트를 만들자. def test_find_pattern_and_bolding(self): assert find_pattern_and_bolding("* 테스트: 테스트입니다.") == "* **테스트**: 테스트입니다." assert find_pattern_and_bolding("- 테스트: 테스트입니다.") == "- **테스트**: 테스트입니다."다음과 같은 테스트 함수를 만들었다.(1번에 대한 테스트이다.) 그리고 다음과 같이 find_pattern_and_bolding라는 함수를 구현했다. def find_pattern_and_bolding(text:str) -> str: patt.. 2023. 6. 23.
TDD기반 개발 프로젝트3-1: 드디어 함수 코딩하기..? 드디어 테스트를 수행할 함수를 만들 때가 되었다! 일단 1번 테스트를 해결할 수 있는 함수를 만드는 것을 목표로 하자. 1번 테스트의 내용은 다음과 같다 입력은 문자열을 입력받는다. test1str: list[str] = [ """여러가지 ~니다 로 끝나는 말을 알려드리겠습니다. * 감사합니다: 감사하다는 뜻 * 고맙습니다: 고맙다는 뜻 * 안 감사합니다: 안감사하다는 뜻 * 즐겁습니다: 즐겁다는 뜻""", """여러가지 ~니다 로 끝나는 말을 알려드리겠습니다. - 감사합니다: 감사하다는 뜻 - 고맙습니다: 고맙다는 뜻 - 안 감사합니다: 안감사하다는 뜻 - 즐겁습니다: 즐겁다는 뜻""", ]반환값은 볼딩처리한 문자열을 리턴한다. test1answer: list[str] = [ """여러가지 ~니다 로 .. 2023. 6. 23.
TDD기반 개발 프로젝트2: 테스트 설정하기 TDD(테스트 주도 개발)은 간단히 설명하면, 루프 형태의 개발 형태라고 볼수 있다. 다음의 루프를 따른다. TDD의 개발 사이클 목표를 설정한다. 세부 목표를 설정한다. 목표에 대한 테스트를 만든다. 테스트를 만족하는 가장 최소한의 코드를 작성한다. 중복을 제거한다. 목표가 완료되지 않았거나 중복이 있으면 2번으로 되돌아간다. 목표가 완료되었고, 중복이 없으면 개발을 종료한다. 내가 생각하는 TDD의 장점은, Bottom UP과 Top Down 방식모두를 사용한다는 점이다. 목표를 설정하는 것은 Top Down이고, 가장 최소한의 코드를 작성하는 것은 Bottom Up에 해당한다. TODO: TDD의 장점 더 잘 적기 TDD를 위한 테스트 코드 작성하기 앞서 1편에서 TDD를 위한 목표를 작성했다. (.. 2023. 6. 23.
TDD기반 개발 프로젝트1: 프로그램의 목표 설정하기 개발에 들어가기 전에, 우리의 프로그램이 어떤 목표를 가지고 있는지 명확히 설정하는 것이 중요하다. 이전 글에 언급했듯, 프로그램의 목표는 문자열|파일을 입력으로 받아, 특정 패턴을 가지는 문자열의 영역을 볼드처리(마크다운 에서는 '**'나 '_ _'로 감싸는 것을 말한다.)하는 프로그램이다. 우리가 명확히 해야할 목표는 다음과 같다. '특정 패턴'은 어떤 패턴인가? '특정 패턴'을 어떻게 탐지할 것인가? '특정 패턴'을 어떻게 볼드처리 할 것인가? 1. '특정 패턴'은 어떤 패턴인가? 특정 패턴은 크게 몇가지 분류로 나뉜다. 불릿포인트 이후에 오는 제목(또는 키) 숫자 리스트 이후에 오는 제목(또는 키) 숫자 리스트가.. 2023. 6. 23.