이 시리즈에서는 클린 코드(Clean Code)를 읽고,
매 챕터를 나름대로 요약 및 첨언한다.
d -> elapsedTimeInDaysvariable, the, a, info, data 등)를 넣지 말자.theAccountInfoData -> accountgenymdhms -> generationTimestampi 쓰는 게 문제가 안 되는 이유다.phoneString은 나중에 새로운 클래스로 대체되어도 변수명이 그대로 phoneString이다.Complex(23.0)보다 Complex.FromRealNumber(23.0)이 명확하다.HolyHandGrenade -> DeleteItemsfetch, retrive, get으로 다르게 작성하지 않기.add가 어떤 클래스에서는 덧셈을 수행하고, 어떤 클래스에서는 집합에 값을 넣게 하지 않기.JobQueue, Visitor, StackTrace, ...debit과 credit으로 작성.state > addrState > Address.state위 노트를 기반으로 ChatGPT에게 연습문제를 몇 개 만들어달라고 하고,
내 나름대로 바꾸어 보았다.
d: 데이터 처리 시간(일 기준)을 저장하는 변수.processDurationInDaystheDataContainer: 사용자가 업로드한 파일을 담는 리스트.User.uploadedFilestimeZoneCodeNum: 사용자의 국가 코드를 저장하는 변수.User.nationalCodeuser_obj_holder: 사용자의 프로필 정보를 저장하는 객체.UserProfile 또는 UsergenerateFunction: 영수증을 생성하는 메서드.generaterReCeiptHolyGraill: 임시로 모든 설정 값을 초기화하는 메서드.initializeSettingsTemporarilySomeProcessor: 파일 업로드를 처리하는 클래스.FileUploaderaccountDateStr: 계정 생성 날짜를 저장하는 변수.Account.createdDateinfoStorage: 사용자 설정 값을 저장하는 딕셔너리.settingsvalueHelper: 특정 할인율을 계산하는 함수.calculateDiscountRategetNum: 총 주문 수를 반환하는 메서드.AccountBook.getTotalOrderCountlist2: 사용자의 배송지 목록을 담고 있는 변수.User.deliveryAddressestheKeyValueStorage: 쿠키 데이터를 저장하는 해시맵.cookiesmyProcessor: 메시지 발송을 관리하는 객체.messageSendervalX: 사용자가 입력한 결제 금액을 담는 변수.inputPricedoProcess: 사용자의 이메일 주소를 검증하는 함수.validateEmailAddresscalcStuff: 사용자의 총 구매액을 계산하는 메서드.User.getTotalPricefetchCustomerInfo: 고객의 거래 내역을 불러오는 메서드. (다른 클래스에서는 get 사용)Customer.getTrasactionHistorypString: 사용자의 전화번호를 저장하는 변수.User.phoneNumberitemManagerObject: 제품 리스트를 관리하는 객체.productManager