본문 바로가기

Tech Stack32

Refactoring - 메서드 정리 Extract Metho - Problem : 그룹으로 함께 묶을 수 있는 코드 조각이 있는 경우 - Solution : 코드의 목적이 잘 드러나도록 메소드의 이름을 지어 별도의 메소드로 뽑아 낸다 # 수정 전 void pringOwing() { pring Banner(); System.out.println("name : " + name); System.out.println("amount : " + getOutstanding()); } # 수정 후 void printOwing() { printBanner(); printDetails(getOutstanding()); } void printDetails(double outstanding) { System.out.println("name : " + name).. 2021. 9. 16.
Refectoring Refectoring 이란? 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법 버그가 끼어들 가능성을 최소화하면서 코드를 정리하는 "정형화된 방법" 코드를 작성한 후에 코드의 디자인을 개선하는 것 Refectoring 에서 요구하는 코드 = 깔끔한 코드 깔끔한 코드는 모든 테스트를 통과한다. 깔끔한 코드는 다른 프로그래머에게도 그 의미가 명백하다 깔끔한 코드에는 중복이 존재하지 않는다. 깔끔한 코드는 최소한의 클래스, 즉 꼭 픽요한 클래스만을 가진다. 깔끔한 코드는 더 적은 비용으로 , 더 쉽게 유지보수 할 수 있다. Bad smells in Code Refectoring의 깔끔한 코드에 속하지 않는 고쳐야 할 코드 Bad smell code 중복된 코드 코드가 여기저기 겹쳐 있는 경우 긴 메소드 .. 2021. 9. 15.
정규표현식 (2) 메타 문자 | ' | ' 문자는 or 과 동일한 의미롤 사용되는 메타 문자로 A | B는 A 또는 B 라는 의미를 갖는다. >>> p = re.compile('Crow|Servo') >>> m = p.match('CrowHello') >>> print(m) ^ ' | ' 문자는 문자열의 맨 처음과 일치한다는 것을 의미한다. ^Life life로 시작하는 문자열의 의미를 갖는다. >> print(re.search('^Life', 'Life is too short')) >>> print(re.search('^Life', 'My Life')) None >> print(re.search('^Life', 'Life is too short')) >>> print(re.search('^Life', 'My Life').. 2021. 8. 14.
정규 표현식 복잡한 문자열을 처리할 때 사용하는 기법으로 파이썬 뿐만 아니라 다른 모든 곳에서 자주 사용된다. 메타 문자 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자를 말한다. 문자 클래스 [ ] 문자 클래스로 만들어진 정규식은 "[ ] 사이의 문자들과 매치" 라는 의미를 갖는다. 이 때 [] 사이에는 어떤 문자도 들어갈 수 없다. 이 때 하이폰(-)을 사용하면 두 문자 사이의 범위를 의미한다. (^)은 부정으로 반대를 의미한다. (1) a (2) bee (3) dot -1- [ a b c ] : (1)은 정규식과 일치하는 'a'가 있으므로 매치 , (2)도 'b'로 인해 매치 (3) 은 포함하는 문자가 없어 매치 X -2- [ a-zA-z ] : 알파벳 모두 해당하므로 (1) (2) (.. 2021. 8. 13.
반응형