반응형 분류 전체보기383 [클린 코드] 3장 - 함수 (Functions) 이번 포스팅에선 클린 코드 3장 함수에 대해서 알아보겠습니다. 3장에서는 함수를 어떻게 하면 클린하게 작성할 수 있는지 소개합니다. 1. 작게 만들어라 가장 중요한 규칙입니다. 작게 만들어라! 얼마나 작아야 작게 만든 걸까? 라는 생각을 맨날 했는데 켄트 벡이 예전에 짠 소스엔 2~4줄이 넘어가는 메소드가 없었다고 합니다. (실무에서 저렇게 해보려고 했는데 잘 안 되더라구요...ㅎㅎ..) if, else, while 등에 들어가는 블록은 1줄이어야 한다. 결론 : 작으면 작을수록 좋다. 2. 한 가지만 해라! 2장에서도 나왔던 내용입니다. 함수는 한 가지만 해야 하고 그걸 잘 해야 한다. 그럼 한 가지만 하는지 어떻게 판단할 수 있을까? 1) 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행하.. 2022. 2. 28. [클린 코드] 2장 - 의미 있는 이름 (Meaningful Names) 이번 포스팅에선 클린 코드 2장 - 의미 있는 이름을 정리해보겠습니다. 매 장마다 정말 중요한 내용들이네요. 의미 있는 이름? 클래스, 인터페이스, 변수, 인자 등 다양한 곳에 개발자가 직접 이름을 붙혀가면서 개발을 하고 있습니다. 수 많은 이름을 붙혀줘야 하는데 고민하기 싫다고 그냥 의미 없는 이름을 붙혀준다면? 바로 나쁜 코드가 발생합니다. 그럼 어떻게 의미 있는 이름을 붙혀야 하는지 하나씩 알아보겠습니다. 의미 있는 이름을 짓는 법 1. 의도를 분명히 밝혀라 의도를 분명히 하는 변수명을 짓는데 고민하는 시간이 아까워도 투자해야 합니다. 그 이름을 짓으므로 절약하는 시간이 더 많기 때문입니다. 예1) int d; // 경과 시간(단위: 날짜) 위처럼 경과 시간을 그냥 d라고 단순하게 줘버리면 무슨 의.. 2022. 2. 27. [클린 코드] 1장 - 깨끗한 코드 (Clean Code) 클린 코드 1장에서는 어떤 코드가 깨끗한 코드인지 왜 깨끗한 코드를 작성해야 하는지 설명하고 있습니다. 나쁜 코드란? 나쁜 코드란 읽기 어려운 코드를 말합니다. 단순히 로직이 복잡해서 읽기 어려운 코드를 말하는 것이 아니라 어떤 의도로 코드가 작성이 됐는지 이해하기 어려운 코드를 말합니다. 개발하시다 보면 누군가가 작성해논 코드를 보고 이게 도대체 무슨 의미인지, 왜 필요한지 알 수 없어 수 차례 읽어봐야 이해가 가는 코드를 보신 적이 있으실 겁니다. 이해해보면 완전 간단한 코드인데 말이죠. 나쁜 코드란 수정하기 어려운 코드를 말합니다. 코드 한 줄만 수정하면 되는 간단한 로직이라고 생각했는데 참조하고 있는 곳이 수십개여서 수정하는데 한참 걸리는 경우를 경험하신 적이 있으신가요? 바로 그겁니다. 나쁜 코.. 2022. 2. 27. [디자인 패턴] 총 정리 (3) - 싱글톤(Singleton) 패턴 [생성 패턴] 이번 포스팅부터 드디어 디자인 패턴을 정리하게 되었네요. 이번 포스팅에서 알아볼 패턴은 생성 패턴의 싱글톤(Singleton) 패턴입니다. 싱글톤(Singleton) 패턴이란? 싱글톤 패턴은 인스턴스를 오직 1개 생성하고 이를 리턴해주는 패턴입니다. 싱글톤의 사전적 의미를 네이버 사전에서 찾아보니 단독 개체, 독신자, 외둥이 등이 나옵니다. 싱글톤은 단독 개체라는 뜻으로 보시면 되겠습니다. 언제 사용하나? 인스턴스를 오직 1개만 만들어야 하는 경우에 사용합니다. 예) 환경설정 정보, 아이템 창 코드 생각보다 인스턴스를 1개만 만들어 주는 작업이 쉬운 거 같으면서도 막상 개발해보면 어려습니다. 왜 어려운지 어떤 걸 고려해야 하는지 싱글톤을 구현하는 여러 개발 방법을 알아보고 각 개발 방법의 장/단점을 알아.. 2022. 2. 12. [디자인 패턴] 총 정리 (2) - 디자인 패턴이란? + 디자인 패턴 종류 이번 포스팅에선 디자인 패턴이 무엇인지 왜 배워야 하는지를 설명하고 디자인 패턴 종류를 알아보겠습니다. 디자인 패턴이란? 일반적으로 우리가 말하는 디자인 패턴은 GOF(Gang Of Four)라는 괴물들이 집필한 Design Patterns에 나오는 23개의 패턴을 말합니다. 개발을 구조적으로 우아하게 설계하려고 노력하다보니 반복되는 패턴들이 발견됐는데 그걸 바로 디자인 패턴이라고 합니다. (괴물들이 집필한 이 책의 번역본이 있습니다. 근데 보기가 너무 어렵... ㅠㅠ) 디자인 패턴을 왜 배우라고 하나? 1. 일단 제일 큰 이유는 개발자들과 소통이 잘 되기 위함입니다. 예를 들어 코드리뷰를 할 때 디자인 패턴 모르는 개발자 "나는 1, 2, 3, 4 실행 순서 중 3번만 a, b, c 상태 별로 다르기 .. 2022. 2. 11. [디자인 패턴] 총 정리 (1) - 클래스 다이어그램(Class Diagram)이란? 디자인 패턴을 공부하기 전 반드시 공부하고 가야하는 클래스 다이어그램입니다. 클래스 다이어그램의 구성 요소에 대해 알아보겠습니다. 클래스 다이어그램이란? 클래스 다이어그램은 UML(Unified Modeling Language)의 다이어그램 중 1개로 위키에 정리된 클래스 다이어그램 설명을 보면 아래와 같습니다. 클래스 다이어그램은 객체 지향 모델링의 주요 빌딩 블록이다. 응용 프로그램 구조의 일반적인 개념적 모델링, 또 모델의 프로그래밍 코드로의 세세한 모델링 변환을 위해 사용된다. 클래스 다이어그램은 데이터 모델링용으로도 사용이 가능하다. - 위키 클래스간 관계를 나타내기 위한 다이어그램이라고 이해주시면 됩니다. 클래스 다이어그램의 구성 요소 Field (필드) 변수는 접근 제한자, 변수 명, 변수 .. 2022. 1. 23. [디자인 패턴] 총 정리 (0) - 무료 클래스 다이어그램 툴 소개 오늘부터 디자인 패턴 총 정리를 해보려고 합니다. 디자인 패턴을 공부하려면 클래스 다이어그램을 무조건 알고 가야합니다. 클래스 다이어그램에 대해 배우기 전 앞으로 클래스 다이어그램을 그릴 툴부터 먼저 간단하게 소개하겠습니다. 클래스 다이어그램 툴 diagrams.net (https://app.diagrams.net/) Flowchart Maker & Online Diagram Software Flowchart Maker and Online Diagram Software diagrams.net (formerly draw.io) is free online diagram software. You can use it as a flowchart maker, network diagram software, to cr.. 2022. 1. 22. [AWS] Windows에서 AWS CLI 설치하는 방법 Windows에서 AWS CLI 설치하는 방법에 대해 알아보겠습니다. window key + R -> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi 엔터 -> 설치 -> 끝 2021. 12. 13. [Java] Apache Log4j 2.x 취약점 및 해결 방법 (Log4j2 remote code execution vulnerability) 갑자기 뉴스를 보는데 Log4j에서 엄청난 취약점이 발견됐다는 소식이 나오길래 뭐 때문인지? 그리고 해결 방안은 무엇인지 찾아봤습니다. 취약 버전 2.0 beta9 2021. 12. 12. 이전 1 ··· 36 37 38 39 40 41 42 43 다음 반응형