strange-study / ss-start-clean-code

크으으린 코드 스터디 🧹
2 stars 0 forks source link

[Week] 2주차 진도 #5

Closed jin5335 closed 4 years ago

jin5335 commented 4 years ago
  • 발표자를 제외한 인원은 느낀점, 질문사항을 코멘트로 남겨주세요.
  • 발표자는 발표자료를 준비하시고 공유해주세요.

이번 주 발표자

진도

발표자료

ChoMk commented 4 years ago

chapter 3 : 함수

좋은 함수란?

chapter 4 : 주석

주석?!

나의 생각

경험

DaehunGwak commented 4 years ago

요약

03. 함수

04. 주석

좋은 주석

내가 모르는것.. 나중에 봐야할 것..

Q

public interface EmployeeFactory { public Employee makeEmployee(EmployeeRecord r) throws InvalidEmployeeType; }

public class EmployeeFactoryImpl implements EmployeeFactory { public Employee makeEmployee(EmployeeRecord r) throws InvalidEmployeeType { switch (r.type) { // 이때 각 new 클래스 들은 위의 Employee abstract class를 상속받은 구현 클래스 case COMMISSIONED: return new CommissionedEmployee(r); case HOURLY: return new HourlyEmployee(r); case SALARIED: return new SalariedEmployee(r); default: throw new InvalidEmployeeType(r.type); } } }

KimYealynn commented 4 years ago

Chapter03. 함수

한 함수내 추상화 수준을 맞춰라, 그리고 그 다음 함수에서는 추상화 수준을 한단계 낮춰라(내려가기)

확실히 이 규칙을 지킬 수 있다면 코드읽기가 엄청 쉬워질 듯 하다, 근데 내 코드에 적용은 못하겠음.........

_2020-07-12__1 59 18

추상화란 구체적인 것을 감추고 보고 싶어하는 전체적인 특성을 드러내는 것이다. 함수는 그 함수의 이름보다 하나더 낮은 수준에서 내부의 코드를 채워주고 있다는 것을 알 수 있다. 다시 그 내부의 코드를 더 깊이 들어가면, 그것 역시도 다른 개념을 추상화시키고 있는 것이며, 계속해서 가장 구체적인 내용이 나올 때까지는 한 수준씩만 더 구체적으로 변화됨을 유추할 수 있을 것이다.

[추상화 수준이 높음] [추상화 수준이 낮음]
getHtml() > String pagePathName = PathParser.render(pagePath) > .append("\n")

동사와 키워드

Chapter04. 주석

주석은 실패를 만회하기 위해 적는 것...주석을 달아야겠다! NO → 코드를 고치자

과격한 표현 같은데 확실히 코드를 잘 바꾸면 주석이 필요 없어지는 경우가 많은 듯 주석을 달기전에 더 생각해봐야겠다.

과도한 주석은 읽는이로 하여금 모든 주석을 무시하도록 유도한다.

나는 모든 주석 잘 안 읽는 편이라 문제,,,,,지만 이 말이 백퍼 이해가 간다. 그치만 일하다 보면 어쩔 수 없이(내 코드 표현력의 한계 때문 만이 아니라도..) 필요한 경우가 생기는 것 같은데 최대한 간결하게 쓰도록 해야겠다.

Q

  1. 부수효과를 일으키지마라! 에서 checkPasswordAndInitializeSession 은 함수가 한가지만 한다는 규칙을 위반한다는데, 이럴일이 은근 많은 것 같아서... 여러개 해도 된다는 건가.... ?
    • A: wrap을 해야하는 단어를 생각해야하는건데, 저 워딩보단 다른 좋은 하나의 짧은단어가 있지않을까.. 제가 어휘력이 부족해서.....
minSW commented 4 years ago

[Chapter 3] 함수

📖 기억에 남는 부분

요약 정리

한 가지만 수행하고 이를 잘 나타낼 수 있는 서술적인 이름중복되지 않는 최대한 작은 함수를 만들어라 단, 처음부터 탁 짜지는 건 불가능하다. 글 짓기를 하듯 다듬고 고치고 정리하라 (+단위 테스트 케이스)

느낀점

따로 찾아본 부분


[Chapter 4] 주석

📖 기억에 남는 부분 & 느낀점

주절거리는 주석 / 같은 이야기를 중복하는 주석 (있으나 마나 한 주석)

주석으로 처리한 코드

전역 정보


🤔 질문

jin5335 commented 4 years ago

끝!!!!