일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Winform
- mybatis
- machine-learning
- c#
- 자바
- 스프링
- kubernetes
- Spring Boot
- 마이바티스
- Python
- Kotlin
- Spring
- 스프링부트
- 쿠버네티스
- react
- 코틀린
- docker
- github
- 리액트
- git
- DataGridView
- design pattern
- springboot
- VOA
- 리팩토링
- MySQL
- 도커
- AWS
- 파이썬
- Java
- Today
- Total
목록리팩토링 (5)
보뇨 다이어리
요새 빡공하고있는데 가장 감동받은 책이 five lines of code 입니닷. 여기 책에서는 clean code 책을 찬양하다시피 글을 써놓았는데 개인적으로 그 책을 읽었을때 너무 과한감이 없지않아있어서 읽는내내 이걸 진짜 지키는 사람이 있을까...? 이런 의심을 했던적이 있었습니다. 근데 five lines of code 는 진짜 그걸 지키면서 심지어 더 과한 제약을 거는데 코드로 직접 다 설명을 해주니 생각을 명확하게 정리하게 되는 기회가 되었습니다 빨리 가려면 혼자 가고 멀리 가려면 함께 가라 개인적으로 프리할게 아니라면 항상 팀을 우선시하는게 맞다고 생각되는데 여기서 재미있는 속담이 있어 인용해보았다. 다섯 줄 제한 호출 또는 전달, 한가지만 할것 if 문은 함수의 시작에만 배치 if 문에서 ..
리팩토링 관련해서는 clean code 책에서 잘 설명되어있기때문에 전체를 설명할필요는 없지만 그 책에 따른 파생된? 책인 five lines of code 책에서 설명하고있는 몇가지가 개인적으로 와닿아서 포스팅함! 1. 호출 또는 전달, 한가지만 할것 아래 함수를 보면 첫번째꺼는 전달을 하고있지만 동시에 Length 내부함수를 호출하고있다. 이것을 완전히 호출역할만 하던지 전달 역할만 하던지 목적을 최소화시켜주는것이 신박한 방법이여서 뽑았다! // bad function average(arr: number[]) { return sum(arr) / arr.length; } // good function average(arr: number[]) { return sum(arr) / size(arr); } 2..
aws 를 수정해야하는 상황이 닥침쿼리가 너무 불필요하게 작성되어있어서 쿼리를 리팩토링했다조건절이 많이 들어간게 미적으로 별론데 현재 내가 할수있는선까지는 수정했다 :)Before123456789101112131415161718192021select c.id , c.come_leave , p.is_come , p.path , e.id as employee_id , e.image , d.company_id , o.account from ( select id, come as come_leave, employee_id, true as is_come from commute_record where come is not null and come_match is null union select id, `leave` ..
시리즈물이기 때문에 글은 생략Before 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 SELECT r.id , UNIX_TIMESTAMP(r.come) as come , UNIX_TIMESTAMP(r.leave) as `leave` , r.employee_id , r.division_id , r.manager_id , r.come_match , r.leave_match , r.pad , valid , e.wage , come_beacon , leave_beacon FROM commute_record as ..
이건 시리즈물이다그렇다정확히 코드를 리팩토링하는 과정인것이다하는이유는? 첫째는 내가 만지기 빡씨다는점이다...ㅂㄷㅂㄷ따로 설명은 넣지않을것이다 왜냐? 설명을 넣을 필요도 없이 간단하기 때문이지!Before12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 UPDATE commute_record SET pad = pad , `leave` = FROM_UNIXTIME(#{leave}) , leave_beacon = #{leave_beacon} , leave_beacon = null , come_beacon = #{come_beacon} , come_beacon = null , come_match = ..