Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 짝지어제거하기
- GPT
- 3745
- 백준
- 다익스트라
- 백준 1339
- 논문구현
- 관심사분리
- MachineLearning
- Alexnet
- deeplearning
- 논문
- 자바
- dijkstra
- 백준9095
- 백준 1916 자바
- 디미터법칙
- 1261
- 1916
- 백준 1339 자바
- 알렉스넷
- 머신러닝
- 논문리뷰
- 1107번
- Java
- cs231n
- 알고리즘
- 클린코드
- NLP
- 딥러닝
Archives
- Today
- Total
산 넘어 산 개발일지
Clean Code - 함수 본문
코드를 하나의 이야기로 풀어간다는 관점에서 봤을 때 함수는 그 이야기 속 하나의 문장이 될 수 있겠다. 즉 클래스, 변수라는 단어들에 대해 함수는 구체적으로 어떤 동작이 이루어지는지를 나타내는 것이다.
따라서 함수를 읽기 쉽게 쓰는 것, 즉 가독성이 높게 쓰는 것이 클린 코드의 첫 걸음일 것이다.
내 코드 돌아보기
-
함수의 크기 및 추상화
-
onClick()에서는 추상화 수준을 유지하려는 노력은 보여지진다. 그러나 마지막 if문을 하나의 함수로 표현했다면 더 좋았을 것 같다.
-
checkBlankException() : if문 안을 함수로 표현할 수 있었을 것 같다. function 이름은 checkBlankException이지만 그 안에 구체적으로 View의 내용을 바꾸는 내용이 들어가있으므로 이를 다른 함수로 나누었으면 추상화 수준이 유지되었을 것이다.
-
-
함수의 순서
- 추상화 수준을 높은 순위로 따져본다면 onClick() -> validateInputs(), resetInputs() -> checkBlankException()일 것이다. 이에 맞추어서 함수를 순서대로 정의했다면 다른 사람이 읽기에도 더 자연스러웠을 것이다.
-
함수의 인수
- 사실 함수의 인수 부분은 신경써서 코딩을 하지 못했다. 운 좋게도 크게 인수를 많이 쓴 경우는 없었지만 앞으로 인수를 결정함에 있어서도 신중하면 더 좋을 것 같다.
기억할 포인트
-
함수의추상화 수준
-
인수는 최대한 적게
-
오류코드
-
오류보단 예외(try/catch)를 사용
-
try/catch는 함수로 묶어서 사용하기
-
'Study > CleanCode' 카테고리의 다른 글
Clean Code - 클래스 (0) | 2021.03.04 |
---|---|
Clean Code - 단위 테스트 (0) | 2021.03.03 |
Clean Code - 경계 (0) | 2021.03.01 |
Clean Code - 객체와 자료구조 (0) | 2021.02.21 |
Clean Code - 형식 맞추기 (0) | 2021.02.19 |
Comments