이동하기 → junnkk's Notion
코드가 존재하리라 DSL(Domain Specific Language) : 도메인에 특화된 언어. 특정 문제 도메인 특정 문제 표현 기법, 특정 문제 해결 기법에 사용할 목적으로 만든 프로그래밍 언어나 명세 언어를 의미 나쁜 코드 르블랑의 법칙 : 나중은 결코 오
이름을 잘 지으면 편하다! 이름 잘 짓는 간단한 규칙 소개변수, 함수, 클래스 이름 → 존재 이유 / 수행 기능 / 사용 방법 ( 주석 없이도 명확하게 의도를 드러내야 함.) 예시) 지뢰 찾기(p22~24)그릇된 단서를 남기면 안된다 → 코드의 의미 흐림널리 쓰이는
함수를 읽기 쉽고 이해하기 쉽게 하는 방법. 의도를 분명히 표현하는 함수를 구현하는 방법. 처음 읽는 사람이 프로그램 내부를 직관적으로 파악할 수 있도록 하는 속성의 종류.함수는 작을수록 좋다.블록과 들여쓰기 if문 / else문 / while문 등에 들어가는 블록
주석을 줄이도록 노력하자주석을 추가하는 이유 : 코드 품질이 나빠서표현력이 풍부하고 깔끔하고 주석이 없는 코드는 복잡하고 어수선하고 주석이 많이 달린 코드보다 좋다법적인 주석정보를 제공하는 주석의도를 설명하는 주석 결정에 깔린 의도 설명 ex) 두 객체를 비교할 때다
프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다. 코드 형식을 맞추기 위한 간단한 규칙을 정하고 그 규칙을 따른다. 팀 규칙을 따라야 하고 자동화 도구를 활용한다. 코드의 형식은 중요하다!가독성은 앞으로 바뀔 코드의 품질에 영향을 미친다. 시간이 지나더라도 처음의
변수를 비공개(private)로 정의하는 이유 → 남들이 변수에 의존하지 않게 만들고 싶기 때문그렇다면 왜 프로그래머들은 get, set 함수를 public하게 만들어 비공개 변수를 외부에 노출할까?예시) 구체적인 Point 클래스 vs 추상적인 Point 클래스 (p
예외 X오류 플래그 설정 or 호출자에게 오류 코드를 반환 → 단점: 함수 호출 즉시 오류를 확인해야 하므로 호출자 코드가 복잡해짐.예외 O논리가 오류 처리 코드와 뒤섞이지 않으므로 호출자 코드가 더 깔끔해짐.try-catch-finally 문에서 try 블록에 들
→ 개발 시 패키지, 오픈 소스, 다른 팀의 컴포넌트 등의 외부 코드를 이용할 때 소프트웨어 경계를 깔끔하게 처리하는 기법과 기교인터페이스 제공자 vs 사용자 제공자 - 적용성 높이려 함. 사용자 - 자신의 요구에 집중하는 인테페이스 원함. 시스템 경계에서의 문제
제대로 된 테스트 케이스를 작성해야 한다. TDD 법칙 세 가지 TDD : Test Driven Development의 약자로 테스트 주도 개발이라고 한다. 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가
클래스를 정의하는 표준 자바 관례에 따른 순서변수 목록( 정적(static) 공개(public) 상수 → 정적 비공개(private) → 비공개 인스턴스 변수 순)공개 함수비공개 - \*\*\*\*함수 자신을 호출하는 공개 함수 직후에 넣는다 .⇒ 추상화 단계가 순차적
도시 - 추상화와 모듈화 덕분에 큰 그림을 이해하지 못할지라도 개인이 관리하는 구성요소는 효율적으로 돌아감⇒ 시스템 수준에서도 코드를 깨끗하게 유지하는 방법제작 ≠ 사용소프트웨어 시스템은 준비 과정과 런타임 로직을 분리해야 한다시작 단계는 모든 어플리케이션이 풀어야 할
창발 : 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상 → 단순한 결합이 복잡한 결과를 나타내는 것을 의미한다. 즉, 어떤 규칙과 원칙에 따라 설계를 하게 되면, 그것들이 모여 아주 좋은 거시적 설계가
목차 동시성이 필요한 이유 난관 동시성 방어 원칙 라이브러리를 이해하라 실행 모델을 이해하라 동기화하는 메서드 사이에 존재하는 의존성을 이해하라 동기화하는 부분을 작게 만들어라 올바른 코드 종료는 구현하기 어렵다
14장 → 점진적인 개선을 보여주는 사례 연구출발은 좋았으나 확장성 ↓인 모듈 소개모듈을 개선하고 정리하는 단계 프로그램을 짜다 보면 명령행 인수의 구문을 분석할 필요가 생김 편리한 유틸리티가 없다면 main 함수로 넘어오는 문자열을 직접 분석하게 됨 → 책에서 새