반응형

23

한빛미디어 <나는 리뷰어다> 3월 - 개발 7년차, 매니저 1일차

개발 7년차, 매니저 1일차 한빛 미디어 3월! 오랜만에 책 택배가 집에 도착했다. 지난 2월 한빛 미디어에서 하는 에 참가 신청을 했었는데 선정되어 2020년 1년 간 활동하게 되었다. 미션 신청할 때 3권의 도서를 신청하고 랜덤으로 1권을 받게 되는데 꼭 3권을 고를 필요는 없기에 나는 2권만 선택했었다. 기대되는 시간이 지나 도착한 책. '개발자 7년차, 매니저 1일차' 페이스북에서 간간히 이 책이 보여 재밌을 것 같다는 생각을 했었는데, 좋은 기회에 이 책을 받게 되었다. 이 책은 매니저가 된 개발자를 위해 매니저로 성장하면서 겪는 여러 문제를 사례와 조언을 담았다. 또 소프트 스킬이 부족한 사수를 둔 개발자를 위해 사수에게 어떤 도움을 받을 수 있는지에 대한 내용도 담겨있다. 책의 표지에 귀여운..

2020.03.24

[객체지향의 사실과 오해] 1) 협력하는 객체들의 공동체

객체지향의 사실과 오해 1) 협력하는 객체들의 공동체 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다. 소프트웨어 개발자의 역할은 고객과 사용자를 만족시킬 수 있는 신세계를 창조하는 것이다. 협력하는 사람들 - 커피 공화국의 아침 ☕️ 손님, 캐시어, 바리스타 사이의 암묵적인 협력 관계가 존재한다. 손님 - 카페인을 채우기 위해 커피를 주문할 책임을 수행한다. 캐시어 - 손님의 주문을 받는 책임을 성실히 수행한다. 바리스타 - 주문된 커피를 제조하는 책임을 수행한다. 역할, 책임, 협력 은 우리가 삶을 영위하기 위해 다른 사람과 접촉하는 모든 곳에 존재한다. 요청과 응답으로 구성된 협력 사람들은 스스로 해결하지 못하는 문제와 마주치면 문제 해결에 필요한 사람에게 도..

2019.11.08

[클린 코드: Clean Code] 12장 창발성

11장 시스템 건너뛰기!!! 제목부터 뭔 말이지 싶은 12장 '창발성' 입니다 창발성 - 창발(創發)또는 떠오름 현상은 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상 이라고 하네요 (출처 위키백과) 12장 창발성 창발적 설계로 깔끔한 코드를 구현하자 착실하게 따르기만 하면 우수한 설계가 나오는 간단한 규칙 네 가지가 있다 모든 테스트를 실행한다 중복을 없앤다 프로그래머 의도를 표현한다 클래스와 메서드 수를 최소로 줄인다 단순한 설계 규칙 1: 모든 테스트를 실행하라 테스트를 철저히 거쳐 모든 테스트 케이스를 항상 통과하는 시스템은 '테스트가 가능한 시스템'이다. 검증이 불가능한 시스템은 절대 출시하면 안 된다 "테스트 케이스를 만들고 계속 돌려..

2019.09.06

[클린 코드: Clean Code] 10장 클래스

오늘은 10장 클래스를 읽었습니다. 그동안 .. 거의 2-3주간 일도 있고, 피곤하기도 해서 책이나 블로그를 거의 못했네요 사이드 프로젝트는 뭐 할 게 없나 고민하기도 합니다 그거 보다 이론 공부가 필요하지만.. 여튼 오늘은 10장 입니다 10장 클래스 이 장에서는 깨끗한 클래스를 다룬다. 클래스 체계 표준 자바 관례에 따르면, 정적 공개 상수가 맨 처음에 나오고 이후로 정적 비공개 변수, 비공개 인스턴스 변수, 공개 함수, 비공개 함수 순으로 나온다. 추상화 단계가 순차적으로 내려간다 캡슐화 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없다 때때로 위의 것들을 protected로 선언해 테스트 코드에 접근을 허용하기도 한다. 하지만 그 전에 비공개 상태를 유지할..

2019.09.05

[클린 코드: Clean Code] 9장 단위 테스트

오늘은 9장 단위테스트 차례입니다 지난주는 필리핀 단기선교를 다녀오고 월/화는 너무 피곤하여 보지 않았네요 TDD 스터디를 한번 하고 TDD 도서를 읽어본 후라 9장 내용이 어렵진 않았습니다 9장 단위 테스트 TDD 법칙 세가지 1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다 2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트 작성 3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드 작성 위 규칙을 따르면 개발과 테스트가 대략 30초 주기로 묶인다 깨끗한 테스트 코드 유지하기 테스트 코드가 지저분할 수록 변경하지 어려워진다. 복잡할수록 실제 코드를 짜는 시간보다 테스트 케이스를 추가하는 시간이 더 걸리기 십상이다 테스트 코드는 실제 코드 못지 않게 중요하여 깨..

2019.08.28

[클린 코드: Clean Code] 8장 경계

8장 경계 부분은 조금 어렵다고도 할 수 있습니다 8장의 주제는 외부 코드(패키지/오픈 소스/컴포넌트 등)를 우리 코드에 깔끔하게 통합해야 하는데 이 소프트웨어 경계를 깔끔하게 처리하는 기법과 기교를 알아본다. 8장 경계 외부 코드 사용하기 인터페이스 제공자와 사용자 간 시스템 경계에서 문제가 생긴다 제공자는 최대한 많은 환경에서 돌아가야 많은 수익이 발생하므로 적용성을 넓히려 애쓰고, 사용자는 자신의 요구와 환경에 적합한 인터페이스를 바라기 때문이다. 경계 인터페이스인 Map 을 사용하게 되었을 때 Map 인터페이스가 변할 경우 따라서 수정해야 할 코드가 발생한다. 이런 경우 Map 을 다른 클래스를 만들어 숨기도록 하자 그 클래스 안에서 객체 유형을 관리하도록 한다. 경계 살피고 익히기 테스트 케이스..

2019.08.16

[클린 코드: Clean Code] 7장 오류 처리

이곳은 7장입니다 다행히 오늘도 재밌게 스무스하게 읽었습니다 물론 중간에 어렵긴 했지만... 안그래도 회사에서 API 호출하고 나서 처리를 if == result code , else, else 로 하고 있어서 얘를 좀 코드화 시켜서 정리할 순 없을까.. 생각이 들고 있었는데 마침 읽게 되었다 얼른 정리하기 7장 오류 처리 오류 처리는 프로그램에 반드시 필요한 요소 중 하나 뭔가 잘못되면 바로 잡을 책임은 프로그래머에게 있다 깨끗한 코드와 오류 처리는 확실히 연관성이 있다. 오류 처리는 중요하지만 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워 진다면 깨끗한 코드라 부르기 어렵다 그럼 깨끗한 코드로 다가가는 단계로 오류를 처리하는 기법과 고려 사항을 소개한다 오류 코드보다 예외를 사용하라 오류 플..

2019.08.14

[클린 코드: Clean Code] 6장 객체와 자료 구조

이번 장은 한 번에 이해해서 정리하기가 조금 어렵군여 그래도 열심히 해봅니다.... 아직까진.... 클린 코드 책이.... 재미있읍니다.............. 😂 6장 객체와 자료 구조 변수를 비공개(private) 으로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서다 그런데 수많은 프로그래머가 조회(get) 함수와 설정(set) 함수를 당연하게 공개해 비공개 변수를 외부에 노출할까? --> 이부분을 읽고 이해가 되지 않았던 건 get, set 함수가 변수를 직접 수정하지 못하게 하려고 만든건데,. 이공개 변수가 외부에 노출된다니?!?! 했는데 이클립스는 getter, setter 를 제공하는데 그러면 이름이 get변수명, set변수명 이라고 나온다. 그러니까 내가 .. privat..

2019.08.11

[클린 코드: Clean Code] 5장 형식 맞추기

오늘은!!!! 형식 맞추기 차례입니다!!!! 2019년 8월 10일은 너무 더운 날...... via GIPHY 5장 형식 맞추기 프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야한다. 팀이라면 팀의 규칙을 따라야 한다 형식을 맞추는 목적 코드 형식은 의사소통의 일환이다 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다 오랜 시간이 지나 원래 코드의 모습을 찾아 보기 힘들어도 맨 처음 잡아둔 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다 원활한 소통을 장려하는 코드 형식은? 적절한 행 길이를 유지하라 세로 길이 / 가로 길이의 적절한 길이를 유지해야 한다 신문 기사처럼 작성하라 잘 작성된 신문 기사를 보면 크게 요약된 내용에서 점차 상세 내용이 나온다..

2019.08.10

[클린 코드: Clean Code] 4장 주석

클린 코드를 읽고 있습니다 오늘은 4장 주석입니다 오늘도 코드 리팩토링을 하면서 몇년 간 쌓인 주석들과 주석화된 코드를 보며 암담했습니다 나쁜 코드에 주석을 달지 마라. 새로 짜라. - 브라이언 W. 커니핸, P.J. 플라우거 잘 달린 주석은 그 어떤 정보보다 유용하지만 오래되고 잘못 작성된 주석은 잘못된 정보를 퍼뜨린다 주석은 기껏해야 '필요악' 이다 주석은 오래될수록 코드에서 멀어진다, 언제나 코드를 따라가지 못한다. 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다. 그럼 어떻게 해야하나? 주석보다 코드를 떠 잘 쓰려는 방안으로 가라 주석은 나쁜 코드를 보완하지 못한다 표현력이 깔끔하며 주석이 거의 없는 코드가, 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다 주석으로 설명하는 대신 코드..

2019.08.08
728x90
반응형