• 분류 전체보기 (128)
    • 프로그래밍 (45)
      • Python (10)
      • C++ (3)
      • C# (4)
      • PS (2)
      • 클린코드 (13)
      • mysql (1)
      • mac (8)
      • aws (0)
    • Yoga (25)
      • 이론 (9)
      • 서서 하는 아사나 (14)
      • 앉아서 하는 아사나 (2)
    • Trip (50)
      • 뉴욕 (14)
      • 그랜드캐년 (6)
      • LA (6)
      • 라스베가스 (6)
      • 샌프란시스코 (6)
      • 워싱턴D.C (4)
      • 그리스 (2)
      • 프랑스 (1)
      • 스페인 (0)
      • 삿포로 (5)
      • 후쿠오카 (0)
    • Daily (8)
    #뉴욕 #파이썬 #라오스 여행 에세이 #언어 #클린 코드 #아사나 #여행 에세이 #Yoga #요가 #프로그래밍 #La #미국 여행 #라오스 여행 #라오스 #Python #Mac #에세이 #미서부 #미국 #라스베가스

전체 글 <128>

[Clean Code] 8장 경계

시스템에 들어가는 모든 소프트웨어를 직접 개발하는 경우는 드물다. 외부 코드(패키지, 오픈 소스, 다른 팀의 컴포넌트)를 우리 코드에 깔끔하게 통합하기 - 외부 코드 사용하기 : 외부 코드를 이용하는 클래스나 클래스 계열 밖으로 외부 코드가 노출되지 않도록 주의한다. - 외부 코드 살피고 익히기 : 간단한 테스트 케이스를 작성해 외부 코드를 익힌다. - 아직 존재하지 않는 코드를 사용하기 : ADAPTER 패턴을 사용해 미래에 작성될 외부 코드에 따라 변경될 사항을 한 곳으로 모음. - 깨끗한 경계 : 외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자. : ADAPTER 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환

프로그래밍/클린코드 2020. 6. 4. 20:10
[Clean Code] 7장 오류 처리

- 오류 코드보다 예외를 사용하라. : 오류 코드를 사용하면 호출자 코드가 복잡해진다. - Try-Catch-Finally 문부터 작성하라. : try 블록의 트랜잭션 범위 내에서 트랜잭션의 본질을 유지하기 쉽다. - 예외에 의미를 제공하라 : 오류 메세지에 의미를 담아라. - 호출자를 고려해 예외 클래스를 정의하라 - null을 반환하지 마라 : 함수의 시작이 null check이라니.. 아주 나쁜 코드다. (프로그래머의 실수를 유발한다) : null 이 아니라 빈 list(empty data structure)를 반환하라. - 인수(parameter)로 null을 전달하지 마라. : 예외로 던지거나 assert 문으로 잡아내는 방법이 있지만...

프로그래밍/클린코드 2020. 6. 4. 19:11
[Clean Code] 6장 객체와 자료 구조

자료 추상화 - 구현을 외부로 노출하지 않는다. - 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료를 조작할 수 있어야 한다. - 아무 생각 없이 get, set을 외부에 노출하지 말자. 자료 / 객체 비대칭 - 절차적인 코드는 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. - 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다. 디미터 법칙 - 객체는 자료를 숨기고 함수를 공개해야 한다.(조회 함수로 내부 구조를 공개하면 안 됨) - 모듈 간 결합도를 최소화해야 한다. 자료 전달 객체 - 공개 변수만 있고 함수가 없는 클래스 - 비공개 변수를 get/set 함수로 조작 (사이비 캡슐화) :private String street; public String g..

프로그래밍/클린코드 2020. 6. 4. 17:56
[Clean Code] 5장 형식 맞추기

코딩 컨벤션 (Coding Convention) 입사하면 제일 먼저 확인해야 할 것 중에 하나이다. 코드를 짜는 스타일은 사람마다 조금씩 다르다. 하지만 이 형식을 맞춰 둔다면 다른 사람이 짠 코드도 내가 짠 것 같고, 내가 짰지만 어? 이거 내가 짰나 싶을 정도로 유사해지며 가독성에 날개를 달아준다. 팀마다 형식이 다 다르고, 이 형식은 팀원들끼리 조율해서 나은 방향으로 맞춰 가면 된다. 처음부터 익숙할 수는 없으니 문서로 만들어 둔다면 신규 투입자가 개발 시 참고하면 좋다. - 적절한 행 길이를 유지하라 : 신문 기사처럼 작성하라(큰 그림부터 세부 묘사 순으로) : 개념은 빈행으로 분리(개념 간 유사, 종속 함수 등은 붙여서) - 가로 형식 맞추기 : 가로 공백과 밀집도(할당 문은 공백으로 구분, 함..

프로그래밍/클린코드 2020. 6. 2. 01:06
[Clean Code] 4장 주석

주석은 항상 거짓말을 한다. : 코드는 살아 있는 생물체라 항상 변화하고 진화하지만, 주석은 계속 퇴화한다. - 주석은 나쁜 코드를 보완해서 안된다. 코드로 의도를 표현하라 좋은 주석 - 법적인 주석 - 정보 제공 주석 - 중요성 강조 주석 - 경고 주석 - TODO 주석 나쁜 주석 - 주절거리는 주석 - 코드와 중복된 내용 적는 주석 - 오해할 여지가 있는 주석 - 이력을 기록하는 주석 (버전 관리 시스템이 있어서 요즘은 안 하죠) - 주석으로 처리한 코드 (버전 관리 시스템이 있으니 그냥 지웁시다) - 너무 많은 정보 - 함수 헤더

프로그래밍/클린코드 2020. 6. 2. 00:52
[Clean Code] 3장 함수

- 작게 만들어라 :즉, 한 가지만 해라(SRP : Single Responsibility Principle) - Switch 문 쓰지 마라 : 한 가지 작업만 하는 switch문을 만들기는 어렵다.(물론, 정말 어쩔 수 없는 경우는 써야지요.) : OCP(Open Closed Prindiple)을 위반한다. (새 유형이 추가되면 계속 수정해야 함) : 다형성을 이용하라. - 이상적인 함수의 인수(Parameter)는 0개이다. : 불가피하게 parameter가 늘어나게 되면 클래스로 만들어 넘긴다. : bool 인수는 함수가 true면 A일 false면 B 일을 시키겠다는 짓이니 하지 말자. - 한 가지 일만 처리해라 (강조, 강조) : 예 1) set함수에서 return 값으로 bool 넘겨서 확인하..

프로그래밍/클린코드 2020. 6. 2. 00:41
PREV 1···45678910···22 NEXT
Copyright ⓒ dub All Rights Reserved.
Rss Feed and Twitter, Facebook, Youtube, Google+

티스토리툴바