ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [실용주의 프로그래머] 3일차
    책 정리/실용주의 프로그래밍 2022. 5. 17. 02:50

    책.책.책을 읽어요!

    • 오늘의 책읽기: 2장.실용주의 접근법 까지!
    • 오늘의 과제: TIL 작성하기
    • 제출기간: 48시간을 드립니다! 화요일 오전 6시까지

    TIL 작성하기

    슬랙에서 이야기를 나눠봐요!

    • 책 읽으면서 궁금했던 것들! 다른 사람들은 어떻게 생각할까? 궁금하지 않았나요?
    • 슬랙 채팅방에 놀러와서. 이야기를 자유롭게 해봐요 ;)
    • 슬랙 채팅방 참여하기 #book-club-pragmatic 으로 오세요

    제출방법

    • 제출기간: 48시간을 드립니다! 화요일 오전 6시까지
    • 업로드 하신 게시물 링크를 아래 제출하면 끝!
    • 노개북 어떠세요? 의견 남겨주시면. 더 좋은 프로그램을 만드는데 큰 도움이 됩니다!
    • 첫 미션이 곧 다가옵니다! 유후!

    좋은 설계의 핵심
    - 바꾸기 더 쉽게

    - 여러분이 일상적으로 사용하는 설계원칙을 떠올려 보라. 그 원칙이 무언가를 바꾸기 쉽게 만들려는 것인가?
    - 파일을 저장할때 마다 ETC?라는 내용의 팝업을 띄우도록 설정하라.
    더보기

    '바꾸기 더 쉽게'

    설계의 핵심을 관통하는 주제라고 생각한다. 
    그 이유는 설계란 미래에 발생하지 모르는 위험을 미리 대비하는 것이다. 이런 경우는 다양한 이유에서 저마다 대처한는 방법이 다르다. 이럴때 우리가 준비해야하는 것은 레고처럼 조립이 쉬운 형태를 구성하는 것이다. 모듈, 클래스 등등 레고처럼 조립될 수 있는 설계를 통해 구현한다면 이는 바꾸기 더 쉽게라는 주제와 일맥상통한다고 생각한다.  
    여러분이 일상적으로 사용하는 설계원칙을 떠올려 보라. 그 원칙이 무언가를 바꾸기 쉽게 만들려는 것인가?
    파일을 저장할때 마다 ETC?라는 내용의 팝업을 띄우도록 설정하라.

    DRY: 중복의 해악
    - 개발자간의 중복

    - 일일 스크럼 스탠드업 미팅을 운영해 볼 수 있다. 슬랙채널같이 공통의 문제를 다루기 위한 공간으 만들라. 이런 소프트웨어를 사용하면 모든 대화 기롱을 보전할 수 있고, 방해를 최소화 하면서 의사소통이 가능하다. 사무실이 여러곳으로 나뉘어있어도 문제없다. 


    - 일상적으로든 코드 리뷰를 통해서 다른사람들의 소스 코드와 문서를 반드시 읽어라. 다른사람의 것을 기웃거리는 것이 아니라, 거기서 배우는 것이다. 그리고 기억하라. 접근은 상호적이다. 다른 사람이 여러분의 코드를 들여다보고 건드린다고 해서 기분 나빠하지 말 일이다. 
    더보기

    슬랙을 프로젝트별로 만드는것도 괜찮은 아이디로 보여진다. 생성되고 사라지고 하는 팀워크를 가장 잘 표현하는 곳이 바로 슬랙이다.


     전직장 사람들은 자신의 코드를 까보는 것을 굉장히 싫어했다. 여기는 다르다. 누구나 리뷰를 달고 궁금한것을 아래에 적는다. 저자는 당당하게 답하고 의견이 공유된다. 

    직교성

    테스트
    - 단위테스트를 작성하는 행위 자체가 직교성을 테스트해 볼 수 있는 기회다. 
    ....
    버그 수정은 시스템의 직교성을 총체적으로 점검해 볼 수 있는 값진 시간이다. 문제가 발생했다면 버그 수정을 얼마나 국소화 할 수 있는지 평가해 보라, 모듈 하나만 변경하면 되는가? 변화가 시스템 전반에 걸쳐 분산되어 있지 않은가? 수정하고 나니 모든 것이 제대로 고쳐졌는가, 아니면생각지도 못한 곳에서 새로운 문제가 또 발생하였는가? 이질문들에 답하려면 자동화에 힘을 쏟아야한다. 


    문서화
    - 우리는 개인적으로 마크다운 같은 마크업 체계를 좋아한다. 내용을 쓸때는 내용에만 집중하고, 예쁘게 꾸미는것은 다른 변환도구에 맡길 수 있다. 
    더보기

    - ISTQB, CSTS를 준비하면 테스트에 대해 조금 눈을 뜨게 된다. 왜 필요한 것인가? 왜 해야하는가? 회귀 테스트, 재테스팅 등등 다양한 용어에 익숙해지고 리뷰에 대한 문서 작성까지 폭넓게 배울 수 있다. 

    - 책임의 분리와 글쓰기를 잘 나타낸 글이다. 

    가역성
    - 시간이 흐르고 프로젝트가 진행되면서 더이상 참을 수 없는 지경에 다다를 수도 있다. 중요한 결정 하나하나가 프로젝트 팀을 점점 더 달성하기 힘든 목표로 몰아넣는다. 선택권이 줄어들고 운신의 폭도 좁아진다. 

    - 하지만 데이터베이스라는 개념을 올바르게 추상화하여 영속성을 하나의 서비슬 제공하도록 만들었다면 달리는 도중에 말을 갈아 탈 수 있는 유연성이 생길 것이다.
    더보기

    - 지금 프로젝트가 그렇다. 충분한 안정화 작업을 거치지 못하고 우리는 새로운 프로젝트를 향해 달려갔다. 우리의 종착지는 쏟아지는 버그에서 파묻혀 허우적거리다 도망치는게 벌써부터 그려진다. 

    '소리내야한다 안그러면 사방이 발한발짝 디딜수 없는 지경에 이르게 될 것이다.' ...비밀의 숲

     

     

    - 나중에 공부할부분

    유연한 아키텍처
    미래에 대비하는 코드를 작성하는 것이 어려울만하다.  
    더보기

    좋은 책이나 강의, 또는 정보가 없을까?
    설계는 더 배우고싶은 욕심이 있다.

    댓글

Designed by Tistory.