본문 바로가기
[실용주의 프로그래머] 계약에 의한 설계 [실용주의 프로그래머] 계약에 의한 설계 실용주의 편집증 -완벽한 소프트웨어는 만들 수 없다. -우리는 방어적으로 코딩하도록 가르침 받았다. 만약 조금이라도 의심이 들면, 주어진 모든 정보를 확인한다. 잘못된 데이터를 찾아내기 위해 assertion 을 사용한다. 일관성을 확인하고 데이터 베이스 컬럼에 constraint 를 걸면서 대부분은 스스로 만족해한다. 하지만 실용주의 프로그래머들은 여기서 한 걸음 더 나아간다. ‘그들은 자기 자신 역시 믿지 않는다’ 어느 누구 심지어는 자기 자신도 완벽한 코드를 작성할 수 없음을 알기 때문에 실용주의 프로그래머는 자신의 실수에 대비해 방어적으로 코드를 짠다. 계약에 의한 설계 -정직한 거래를 보장하는 최선의 해법 중 하나는 계약이다.계약은 상대편은 물론 자신의 .. 2018. 10. 24.
[Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #1 ~ #8 [Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #1 ~ #8 #1 : Objective-C 의 기원과 친숙해져라. Objective-C는 객체 지향 기능을 추가한 C 의 확장이다. Objective-C는 동적 바인딩을 사용하는 메시징 구조를 이용한다. 동적 바인딩은 객체 타입이 실행 시간에 밝혀지는 것을 뜻한다. 메시지를 받았을 때 동작할 코드를 컴파일러가 아닌 런타임이 결정한다. C의 핵심 개념을 이해하고 있으면 Objective-C를 효과적으로 작성하는 데 도움이 된다. 특히 메모리 모델과 포인터를 잘 이해하고 있어야 한다. #2 : 헤더에 헤더를 포함하는 것을 최소화하라 항상 헤더를 포함하는 것을 최대한 미루라. 이는 보통 헤.. 2017. 8. 10.
[Effective Objective-C] #5 열거형을 사용해 상태, 옵션, 상태 코드를 정의하라 [Effective Objective-C] #5 열거형을 사용해 상태, 옵션, 상태 코드를 정의하라 출처 : Effective Objective-C -enum 은 시스템 프레임워크 전반에 걸쳐 광범위하게 사용되지만 개발자들은 잘 활용하지 않는다.enum 은 예를 들어 에러 상태 코드들이나 조합할 수 있는 옵션들에 사용될 수 있는 상수들을 정의하는 데 매우 유용하게 쓰일 수 있다. enum EOCConnectionState{ EOCConnectionStateDisconnected, EOCConnectionStateConnected,}; -enum 을 사용하면 코드가 읽기 좋아진다.컴파일러는 열거형의 각 멤버에 유일한 값을 부여한다.0으로 시작해 1씩 증가시킨 값을 각 멤버에 부여한다.이런 열거형 내부의 타.. 2017. 7. 26.
[Effecitve Objective-C] #4 전처리기 #define 보다는 타입이 있는 상수를 사용하라 [Effecitve Objective-C] #4 전처리기 #define 보다는 타입이 있는 상수를 사용하라 출처 : Effective Objective-C -#define 은 전처리기 지시어이다. (preprocessor) -#define 정의는 타입에 대한 정보가 없다. -#define 이 헤더 파일에 선언되어 있다면 그 헤더 파일을 포함하는 모든 곳에서 #define 으로 정의한 상수값을 치환한다. -preprocessor 보다는 상수를 정의하는 것이 항상 더 좋은 방법이다. // implementation static const NSTimeInterval kAnimatinoDuration = 0.3; @implementation @end -상수의 일반적인 표기법은 k 소문자를 상수 맨 앞에 붙이는 .. 2017. 7. 24.
반응형