본문 바로가기

전체 글232

클린코드2 저자는 C++의 창시자 비야네 스트롭스트룹에게도 깨끗한 코드에 대해 물었다. 그는 논리가 간단해야 한다고하고, 의존성을 줄여야 유지보수가 쉬워진다고 한다고 했다. 그는 효율을 두번이나 언급했다. 여기서 말하는 효율은 속도뿐아니라 cpu자원을 낭비하는 코드는 바람직하지 않다고 한다. Object Oriented Analysis and Design with Application의 저자 그래디부치는 가독성을 강조했다. 클린한 코드는 잘 쓴 문장처럼 읽혀야 한다고 한다. OTI의 창립자 데이브 토마스는 가독성을 강조하지만 클린한 코드는 다른 사람이 고치기 쉽다고 단언했다. 그는 테스트 케이스와 연관지었다. 실제로 테스트 케이스가 없는 코드는 클린한 코드가 아니다. 론 제프리스는 중복을 피하고, 한기능만 수행하고.. 2022. 11. 19.
11.18 JSON(미완성) ㅇ JSON JavaScript Object Notation의 약자. 데이터 교환을 위해 만들어진 객체 형태의 포맷이다. 자바에서 자바스크립트간, 파이썬에서 자바간, 다양하게 데이터를 교환할 수 있게 해준다. 저번에 읽은 책에서 나와서 대충 개념은 알았지만, 써보는 것은 처음이었다. Map message = new HashMap(){{ put("a","b"); put("c","d"); put("e","f"); }}; 이런 해시맵의 데이터를 어떻게 전송할까? 전송조건은 수신자 발신자는 같은 프로그램을 사용하거나, 문자열처럼 범용성있게 읽기 가능해야한다는 것이다. ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString.. 2022. 11. 19.
원금이 두배가 돼 두 두배 두배 double 타입의 interestRate를 입력받고 두배가 되는 시간(년)을 구한다. for문으로 비비다가 결국 못하고 레퍼런스를 봤다. 내가 작성한 코드 public int computeWhenDouble(double interestRate){ double won = 1.0; int year = 0; double interest = interestRate / 100; for (int i = 0; won >= 2.0; i++) { won = won + (won * interest); year = i; } return year; } 레퍼를 참고한 코드 public int computeWhenDouble(double interestRate){ double won = 1; double interest = 1.. 2022. 11. 19.
클린코드1 어제 section1을 회고하며 개발자 필독서를 추천받았다. 그중 맘에드는 두권을 샀다. 하루에 적어도 10페이지 남짓만 읽어도 충분하다고 해서 오늘부터 읽어 보려한다. 책이 매우 두껍고 글자가 엄청나게 작다. 하지만 읽어보려고 한다. 챕터가 시작하기전부터 깨끗한 코드를 작성하는 방법을 자전거에 비유했다. 개념만 안다고 탈 수 있는게 아니라 직접 쳐보고 부딪혀봐야 터득할 수 있다고 한다. 나쁜코드로 인해 회사가 망하는 경우도 있다고 한다. 나는 최근에 배웠던 캡슐화, 의존성 주입, 이런것들이 생각 났다. 캡슐화로 의존성을 낮춰야 좋은 코드라고 배웠다. 캡슐화가 잘 되어있어야 유지보수가 쉽고 문제를 일으킬 확률도 훨씬 적기 때문이다. 저자는 나쁜코드는 쌓일수록 생산성은 0에 근접한다고 한다. 프로그래머들은.. 2022. 11. 18.