[프로그래밍 방법론] 객체와 자료구조 – Clean Code 이 글은 Clean Code 책의 내용을 정리한 것입니다. 오류 처리는 반드시 프로그램에 필요한 요소중 하나입니다. 입력이 이상하거나 디바이스가 실패할지도 모르기 때문입니다. 간단히 말해 무엇인가가 잘못될 가능성은 언제든지 존재합니다. 1. 오류코드 보다는 예외를 사용하라. 과거에는 예외를 지원하지 않는 언어들이 많았지만, 현재는 C#, Java와 같은 언어들이 모두 예외를 지원하고 있습니다. 예외를 지원하지 않으면 오류처리를 하는데 많은 한계가 있고, 호출자 코드가 복잡해지는 문제를 가지지만 예외를 사용하면 이러한 문제를 해결 할 수 있습니다. 2. Try-Catch-Finally 코드부터 구현하라. 예외에서 프로그램 안에다 범위를 정의한다는..
[프로그래밍 방법론] 객체 지향 방법론 - UML UML(Unified Modeling Language)은 분석, 설계를 사용자가 쉽게 인식하게끔 비주얼화 및 문서화 하기 위한 언어입니다. 즉 소프트웨어 개발 과정에서 산출되는 결과들을 명시하고, 문서화 하기 위한 모델링 언어인것 입니다. 이는 객체 지향 방법론을 문서화 해주는 좋은 방법을 제안하고 있습니다. 1. UML이란? UML에 대한 정의를 살펴보면 아래와 같습니다.객체 관련 표준화기구인 OMG에서 1997년 11월 객체 모델링 기술(OMT;object modeling technique), OOSE 방법론 등을 연합하여 만든 통합 모델링 언어로 객체 지향적 분석 ·설계 방법론의 표준 지정을 목표로 하고 있다. 요구 분석, 시스템 설계, 시스템 구현..
[프로그래밍 방법론] 객체와 자료구조 – Clean Code 이 글은 Clean Code 책의 내용을 정리한 것입니다. 자료 추상화 아래의 코드를 살펴보면, 두 클래스 모두 2차원의 점을 표현하고 있습니다. 하지만 하나의 클래스는 구현을 외부로 노출하고, 다른 하나는 구현을 완전히 숨기고 있습니다. public class Point { public double x; public double y; } public interface Point { double getX(); double getY(); void SetCatesian(double x, double y); } Point 인터페이스는 직교 좌표계인지, 극좌표계인지 알 수 있는 방법이 없습니다. 하지만 이 인터페이스는 자료 구조를 명백하게 표현하고 있..
[프로그래밍 방법론] 객체 지향 방법론 - 프로그램 잘 설계하기 이 글은 세상을 설계하는 객체 지향 방법론을 정리한 글입니다. 객체 지향 시작하기 위대한 소프트웨어는, 한가지로 정의가 불가능 합니다. 첫째, 위대한 소프트웨어는 고객을 만족시켜야 합니다. (요구사항 충족). 소프트웨어는 고객이 원하는 기능을 수행해야 합니다. 둘째, 좋은 소프트웨어는 잘 설계되어 있고, 잘 코딩 되어 있으며, 유지보수와 재사용 그리고 확장이 쉽습니다. 위대한 소프트웨어 만들기 프로세스는 아래와 같습니다.1) 고객이 원하는 기능을 하도록 하세요.2) 객체지향의 기본 원리를 적용해서 소프트웨어를 유연하게 만드세요.3) 유지보수와 재사용이 쉬운 디자인을 위해 노력하세요. 객체 설계시 참고사항"잘 설계된 객체는 자신의 본래 목적 ..
[프로그래밍 방법론] 코드 형식(Code Convention) – Clean Code 이 글은 Clean Code 책의 내용을 정리한 것입니다. 코드 형식을 맞추는 목적은 너무나도 중요합니다. 이 부분은 매우 중요하기 때문에 개발시 무시해서는 안되는 부분입니다. 이 부분은 의사 소통의 일환이기 때문에 융통성 없이 따르면 의사 소통에 어려움이 발생할 수 있습니다. 중요성이 나타나있는 문구를 아래에서 살펴보겠습니다. 오늘 구현한 코드가 다음 버전에서 바뀔 확률은 아주 높다. 그래서 오늘 구현한 코드의 가독성은 앞으로 바퀼 코드의 품질에 지대한 영향을 미친다. 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아 놓은 구현 스타일과 가독성 수준은 유지보수 용이성과..