[Clean Code][TIL] 오류 처리
이 포스트는 로버트 C.마틴의 Clean Code 속 7장(130p ~ 142p) 내용에 대한 정리입니다. “깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다.” (7장 142p) 오류를 막기 위한 예외 처리 try-catch 코드를 작성하다 보면 OutOfBounds, NullPointerException 등 여러 오류가 발생합...
이 포스트는 로버트 C.마틴의 Clean Code 속 7장(130p ~ 142p) 내용에 대한 정리입니다. “깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다.” (7장 142p) 오류를 막기 위한 예외 처리 try-catch 코드를 작성하다 보면 OutOfBounds, NullPointerException 등 여러 오류가 발생합...
문제 제약 확인 시간 제한이 0.5초 이므로 50’000’000 번 이내 연산으로 결과를 출력해야 합니다. 입력 크기가 \(10^6\) 이므로 만약 \(O(N^2)\) 인 경우 100’000’000’000 가 되므로 시간 복잡도가 \(O(N)\) 가 보장되는 알고리즘이 필요합니다. 알고리즘 선택하기 최소 횟수 라는 키워드로 최단 경로 ...
Clean Code를 읽으면서 작성 했던 프로젝트를 수정하던 중 쓰레드가 전역 함수를 받고 함수 내부에서 전역 변수에 접근하는 것을 보고서 전역으로 사용할 필요가 없는 변수와 함수를 클래스에 담아 쓰레드에서 실행할 수 있도록 수정하고자 하였습니다. 쓰레드가 클래스를 담도록 쓰레드의 생성자를 확인하던 중 생성자가 실행할 전역 함수만 전달받는 것이 아...
이 포스트는 로버트 C.마틴의 Clean Code 속 6장(118p ~ 128p) 내용에 대한 정리입니다. “새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료구조와 절차적인 코드가 더 적합하다.” (6장 128p) 자료의 추상화 자료를 표현할 때, 자료 구조를 ...
이 포스트는 로버트 C.마틴의 Clean Code 속 5장(96p ~ 116p) 내용에 대한 후기입니다. “좋은 소프트웨어 시스템은 읽기 쉬운 문서로 이뤄진다.” (5장 114p) 형식을 맞추는 목적 코드를 작성하면서 돌아가는 코드 뿐만 아니라 코드 작성 형식까지 고려해야할까요? 형식의 필요성을 확인하기 위해 내용이 같지만 형식이 다른 ...
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. 가장 빨리 도달하는 방법 최단 경로 알고리즘은 이름 그대로 목적지까지 가장 짧은 경로를 찾는 알고리즘입니다. 최단 경로 유형의 문제로는 “한 지점에서 특정 지점까지의 최단 경로를 구해야 하는 경우”, “모든 지점에서 다른 모든 지점까지의 모두 최단...
프로그래머스의 무지의 먹방 라이브 문제 풀이에 대한 포스트입니다. 문제 설명 첫 번째 풀이 (오답) 문제에서 food_times 가 { 4, 2, 3, 6, 7, 1, 5, 8 }, k 가 27 로 주어졌을 때, food_times 에 저장된 시간을 기둥으로 그려 표시하면 아래 그림과 같이 그릴 수 있습니다. 아래 괄호는 ...
이 포스트는 로버트 C.마틴의 Clean Code 속 4장(68p ~ 94p) 내용에 대한 후기입니다. “나쁜 코드에 주석을 달지 마라. 새로 짜라.” (4장 68p) 주석 말고 코드로 의도를 표현할 것 위키백과에서는 주석을 다음과 같이 설명하였습니다. “소스 코드를 더 쉽게 이해할 수 있게 만드는 것이 주 목적이며, 협업할 때 유용히 ...
이 포스트는 로버트 C.마틴의 Clean Code 속 3장(40p ~ 65p) 내용에 대한 후기입니다. 작은 함수에게 한 가지만 시키기 “함수는 한 가지를 해야한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다.” (3장 44p) 코드를 작성하면서 여러 함수가 추가되고 기능이 추가되면서 한 개의 함수가 비대해지는 경험은 프로...
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. 순차 탐색 여러 탐색 알고리즘 중 가장 가장 기본적인 탐색이 순차 탐색입니다. 순차 탐색은 이름처럼 특정한 데이터를 찾기 위해 앞에서부터 하나씩 차례대로 확인하는 알고리즘 입니다. 보통 정렬되지 않은 배열에서 탐색하기 위해 사용하며 데이터의 개수가...