일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 해커컵
- kafka
- 2017회고
- 알고스팟
- clean code
- 실전사례
- 단위테스트
- 개발7년차매니저1일차
- 박종천
- Raw-Request-URI
- 데이터야놀자
- 2016년회고
- 클린코드
- 테스트주도개발
- 회고
- datalake
- 데이터레이크
- 개발자로살아남기
- 데이터플랫폼
- 데이터유통
- hackercup2017
- 개발자
- 동시성
- 켄트백
- spray
- 함수형 사고
- functional thinking
- 코딩인터뷰
- coursera
- wait region split
- Today
- Total
목록전체 글 (97)
Software Engineering Note
객체와 자료- 객체는 비공개 자료를 가지고 있고, 자료를 제어하는 함수를 제공- 자료는 공개 변수만을 가짐 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다.인터페이스나 조회/설정 함수만으로는 추상화가 이뤄지지않는다.개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다.아무 생각 없이 조회/설정 함수를 추가하는 방법이 가장 나쁘다. 객체와 자료구조는 근본적으로 양분된다.- 객체지향 코드에서 어려운 변경은 절차적인 코드에서 쉽다. (기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다!)- 절차적인 코드에서 어려운 변경은 객체 지향 코드에서 쉽다. (기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다!) => 다형성을 이용한 경우 interface에..
프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야한다.- 간단한 규칙을 정하고 따라야 한다.- 팀이 합의해 규칙을 정하고 모두가 따라야 한다.- 규칙을 자동으로 적용하는 도구를 활용한다. 형식을 맞추는 목적- 의사소통이다.- 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드이 품질에 지대한 영향을 미친다. 적절한 행 길이를 유지해라 신문 기사처럼 작성하라 개념은 빈 행으로 분리하라- 빈 행은 새로운 개념을 시작한다는 시각적 단서다. 세로 밀집도- 서로 밀접한 코드 행은 세로로 가까이 놓여야 한다. 수직거리- 서로 밀접한 개념은 세로로 가까이 둬야 한다.- 연관성이 깊은 두 개념이 멀리 떨어져 있으면 코드를 읽는 사람이 소스 파일과 클래스를 여기저기 뒤지게 된다. 변수선언- 사용하는 위치에 최대한 가까이 인스턴..
우리는 코드로 의도를 표현하지 못해, 실패를 만회하기 위해 주석을 사용한다. 주석이 필요한 상황에 처하면 곰곰이 생각하기 바란다. => 상황을 역전해 코드로 의도를 표현할 방법은 없을까? 주석은 나쁜 코드를 보완하지 못한다. 좋은 주석 (그나마 남아있어도 되는 주석?)- 법적인 주석- 정보를 제공하는 주석- 의도를 설명하는 주석- 의미를 명료하게 밝히는 주석- 결과를 경고하는 주석- TODO 주석- 중요성을 강조하는 주석 (자칫 대수롭지 않다고 여겨질 뭔가의 중요성을 강조하기 위해)- 공개 API에서 Javadocs 나쁜 주석(대다수 주석...)- 주절거리는 주석- 같은 이야기를 중복하는 주석- 오해할 여지가 있는 주석- 의무적으로 다는 주석- 이력을 기록하는 주석 (코드관리 시스템에 맡기자)- 있으나 ..