클린코드

Book Review/Clean Code

[CleanCode] 클린코드 리뷰_7장 : 오류처리

우아하게 예외 처리하기 클린코드를 다루는 책에서 오류처리를 왜 논하는가? 오류처리는 프로그램에 반드시 필요한 요소 중 하나일 뿐이다. 클린코드와 오류처리는 확실히 연관성이 있다. 7장에서는 깨끗하고 튼튼한 코드에 한걸음 더 다가가는 단계로 우아하고 고상하게 오류를 처리하는 방법을 다룬다. 예외 처리 오류 코드보다 예외(Exception)를 사용하라 요즘은 예외를 던지는 것이 당연한 시대이지만, 과거에는 오류코드를 만들어서 던지는 방법을 사용했었다. 예외를 던지는 방법이 훨씬 명확하고, 처리 흐름이 깔끔해진다 예외를 던지고, 처리하는 방식 public class DeviceController { public void sendShutDown(){ try{ tryToShutDown(); }catch(Devic..

Book Review/Clean Code

[Clean Code] 클린코드 리뷰_ 5장 : 형식 맞추기

이번 장의 내용은 이 책을 보지 않았어도 여러분이 이미 대충은 알고 있었을 것이고, 이미 잘 지키고 있는 분들도 많을 것이다. 코드를 짤때 일정한 형식을 맞추는 것에대한 내용이다. 코드 글자를 구성하는 세세한 부분부터, 필드, 메서드의 배치까지 더 나은 방법을 제시한다. 형식(포맷팅)을 맞추는 목적 한가지를 분명히 짚고 넘어가자. 코드 형식은 중요하다! 너무 중요해서 무시하기 어렵다. 처음으로 코드를 짜고, 오랜 시간이 지나 원래 코드의 흔적을 더이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수의 용이성과, 확장성에 계속 영향을 미치게 된다. 즉, 오늘 처음구현한 코드의 가독성은 앞으로 바뀔 코드의 퀄리티에 지대한 영향을 미친다. 쉬운 예제를 하나 가져왔..

Book Review/Clean Code

[CleanCode] 클린코드 리뷰_ 4장 : 주석

주석을 최대한 쓰지 말자 잘 달린 주석은 그 어떤 정보보다 유용하다. 그러나 경솔하고 근거 없는 주석은 코드를 이해하기 더 어렵게 만든다. 프로그래밍 언어 자체가 표현력이 풍부하다면, 우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 우리에겐 주석이 필요 없을 것이다. 즉, 코드에 주석이 달려있다면 코드 품질이 나쁘기 때문일 확률이 높다. (물론 아닌 경우도 있다. [주석은 이럴때만 쓰자] 에서 알아보자.) 주석은 나쁜 코드를 보완하지 못한다. //직원에게 복지 혜택을 받을 자격이 있는지 검사한다. if( employee.flags && HOURLY_FLAG && employee.age > 65 ){} employee.flags , HOURLY_FLAG , employee.age>..

Book Review/Clean Code

[Clean Code] 클린코드 리뷰_ 3장 : 함수

객체지향 5대 원칙 SOLID SRP : 단일 책임 원칙 OCP : 개방-폐쇄 원칙 LSP : 리스코프 치환 원칙 ISP : 인터페이스 분리 원칙 DIP : 의존성 역전 원칙 이 책을 읽다 보면 위의 객체지향 5대 원칙이 많이 등장한다. 3장 함수를 포함하여 객체지향 프로그래밍을 할 때 위의 원칙을 항상 상기하며 개발을 한다면 클린코드에 한걸음 가까워지게 될 것이다. SOLID의 자세한 내용은 아래 링크를 확인해 주세요. 2023.04.20 - [JAVA/JAVA 이론] - [JAVA] 객체지향 4대 특성(캡슐화, 상속, 다형성, 추상화), 5 원칙(SOLID) [JAVA] 객체지향 4대 특성(캡슐화, 상속, 다형성, 추상화), 5 원칙(SOLID) 객체지향의 4대 특성 : 캡슐화, 상속, 다형성, 추상..

Book Review/Clean Code

[Clean Code] 클린코드 리뷰_ 2장 : 의미있는 이름

의미가 분명한 이름 짓기 2장에서 다룰 내용은 이름짓기이다. 클래스명, 메서드명, 변수명을 봤을때 의미가 분명해야한다. 모호하면 안된다. 첫번째 예시로 든 코드이다. public List getThem(){ List list1 = new ArrayList(); for(int[] x : theList){ if(x[0] == 4){ list1.add(x); } } return list1; } 위의 코드를 보고 뭐하는 코드인지 알 수 있는가? 모른다. 위의 코드에 부가정보를 제공해보겠다. 위의 코드는 지뢰찾기에서 칸 상태를 뜻한다. theList는 보드판이다. x[0] == 4이면, 깃발이 꽂힌 상태이다. 깃발이 꽂힌 상태인 칸들을 list1에 담아 반환해야한다. 위의 정보들 없이 코드만 봐서는 아무것도 알수..

Book Review/Clean Code

[Clean Code] 클린코드 리뷰_ 1장 : 깨끗한 코드

나쁜 코드 나쁜 코드 나쁜코드는 크게 3가지로 나뉜다. 성능이 나쁜 코드 / 의미가 모호한 코드 / 중복된 코드 성능이 나쁜 코드는 쉽다. 불필요한 메모리와 시간을 사용하는 코드이다. 충분히 개선의 여지가 있지만, 개선되지 않은 코드를 말한다. 의미가 모호한 코드는 네이밍과 그 내용이 다른 코드를 말한다. 이름을 딱 보고 어떤 기능을 수행하는 코드인지 알 수 있어야 한다. 비슷한 내용이 중복되는 코드는 버그를 낳기도 하고, 지저분하고 자리만 차지한다. 비슷한 내용이 중복되지 않도록 해야한다. 나쁜 코드로 치르는 대가 나쁜 코드를 짜는 이유는 일정이 촉박해서 일정에 맞춰서 코드를 짜다보면 좋은 코드를 짜겠다는 생각은 뒤로하고 일단 구현에 초점을 맞춰 코드를 짜게되기 때문이다. 나쁜 코드는 생산성을 감소시킨..

HSRyuuu
'클린코드' 태그의 글 목록