Home
Hyunwoo Kim
Cancel

[Clean code] Ch07,08. Error Handling

Ch07. Error Handling 오류 코드보다 예외를 사용하라 오류 status 를 하나 하나 지정해서 하기보다는 예외를 사용하는 것이 맞음 try - catch 와 같이 전체적인 맥락에서 오류를 잡을 수 있음 try 문이 하나의 트랜잭션 역할을 한다. catch 블록은 프로그램 상태를 일관성 있게 유지...

[Clean code] Ch05,06. Fomatting & Objects and Data Structures

Ch05. 형식맞추기 목적 코드 형식은 의사소통의 일환임. ‘돌아가는 코드’를 짜는 것이 우리의 목적이 아님. 다음 버전에서 기능은 바뀔 가능성이 매우 높지만, 스타일과 가독성 수준은 계속 영향을 미친다. 행 길이 200 줄 미만 신문 기사 처럼 작성하기 고차원 개념 → 저차원 개념 함수 호출 순...

[Clean code] Ch04. Annotation

Ch03 Annotation 주석은 필요악이다. 순수하게 선하지 못하다. 프로그래밍 언어로 치밀하게 의도를 표현할 수 있다면 주석은 거의 필요하지 않다. 프로그래머들이 주석을 유지하고 보수하기란 현실적으로 불가능하다. 근데 요새 잘 짜여진 거의 대부분의 오픈소스들은 엄청난 양의 주석을 가지고 있음. 근데 이게 코드에 대한 설명이라기 보다...

[Clean code] Ch03. Functions

Ch03 Functions Fitnesse 란 Fitnesse는 입력 값 과 결과 값을 WIKI페이지에 입력하고 검증을 수행하므로 항상 결과에 대한 기대 값은 동일해야 한다는 제약사항이 존재한다. Small! 작아야함 더 작아야함 스크린에 가득차면 안됨. 20줄정도 Blocks and Indenting if, while ...

[Clean code] Ch02. Meaningful Names

Ch02. Meaningful Names Choosing good names takes time but saves more than it takes. 의도를 확실하게 나타내도록 네이밍해야함 네임이 코멘트를 필요로한다면 제대로 네이밍 안된것임 하지만 코멘트에 대해서는 견해차이가 있다. List가 아닐 경...

[Golang] map, slice, list 정리

[Golang] map, slice, list 정리 Array 고정길이 배열 배열 크기를 동적으로 증가시키거나 부분 배열을 잘라내는 기능 없음. 배열의 크기를 데이터 타입 앞에 써줘야 함 package main func main() { var a [3] int a[0] = 1 a[...

[번역] Pid 네임스페이스에 대한 궁금증

The Curious Case of Pid Namespaces [원본링크] https://hackernoon.com/the-curious-case-of-pid-namespaces-1ce86b6bc900 Pid 네임스페이스에 대한 궁금증 컨테이너들은 어떻게 pid들을 공유할까? 네임스페이스들은 리눅스 컨테이너들의 가장 중요한 컴포넌트 중 하나...

[Linux System Programming] Ch10 시그널

[Ch10 시그널] Ch10 시그널 리눅스 환경에서 Robustness Test (강건성 테스트) 나 디버깅을 진행하다보면 여러가지 오류로 인해서 프로그램이 종료되는데, 이 때 Core dump가 있으면 디버깅에 유용하지만 로그만 남아 있는 경우도 있음. 이 때 단서가 되는 부분이 시그널임 시그널은 비동기 이벤트 처리를 위한 메커니즘을 제공...

[번역] The Code Review Pyramid

Code review Pyramid에 대한 글 번역 원본 링크 The Code Review Pyramid 코드리뷰에 대해서 이야기할 때 코드 포매팅이나 스타일에 관한 재미없는 논의들이 길고 지루하게 초점을 맞추는 경향이 있는 반면 중요한 측면(코드의 변경이 의도와 맞는지, 성능저하는 없는지, 기존 클라이언트와 호환은 잘 되는지 등)들은 덜 ...

[Code Review] 코드리뷰 참고자료 정리

Code Review 란 소프트웨어를 실행하지 않고 사람이 직접 검토하는 과정을 통해서, 잠재된 결함을 찾아내고 이를 개선해나가면서 전반적인 소프트웨어의 품질을 높이고자 하는 활동 Programmer’s Ego 개발자는 자신의 코드를 자신의 것으로 여기고 비판을 수용하지 않는 경우가 있다. 이를 Programmer's Ego라고 한다. The Ten...