본문 바로가기
728x90
반응형

자기계발91

클린코드(Clean code) 8장 - 경계 타팀 소스 , 오픈 소스, 라이브러리 안 쓰는 개발은 없을 것 외부 시스템을 호출하거나, 외부에서 만들었거나 .. 우리 코드에 깔끔하게 갖다붙이려면 1. 캡슐화 실제 구현을 외부로부터 감추고 필요한 부분의 기능 / 값만 불러오기 2. adapter pattern 우리가 정한 부분만 우리가 정의한 인터페이스대로 호출하기 위해 사용하는 클래스 패턴 3. 여유가 된다면 learning test - 외부 코드를 가져올 때 테스트하고 갖다 붙이기 배울 점을 배우고 우리 코드에 가져올 때 안정성도 담보할 수 있음 2022. 9. 14. 18:11
클린코드(Clean code) 7장 - 오류 처리 1. 오류를 나타낼 때는 오류코드 냅다 던지지 말고 예외를 던지자 에러코드 ~~ 이면 ~~ 로 처리한다 전개보다는 오류가 발생한 곳에서 예외를 던진다. 별도의 처리가 따로 필요하다면 checked exception 처리하고, 그렇게 할 생각이 없다면 메서드 선언부에 throws Exception 이라도 둘러주자. (사실 try catch 제외하면 나 이거 제일 좋아함) try -> catch 를 통해 실행문을 감싸고, 예외를 처리할 수 있는 곳에서 catch 2. 특별한 경우가 아니라면, 에러클래스를 상속하여 하위클래스를 쓰잘데기 없이 또 만들지 말 것. unchecked throwable 은 RuntimeException의 하위 클래스로 만들자. 쓸데없이 throwable을 정의해서 만들 수도 있지만 .. 2022. 9. 13. 18:44
쇳밥일지 - 천현우 내돈내산은 아니고 집 테이블에 올라와있던 책 https://search.shopping.naver.com/book/catalog/34221193637 쇳밥일지 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 다른 건 모르겠는데 이 책을 읽고 너는 이만하면 행복한거다 (블라 블라 어쩌고 저쩌고 이하 생략) 같은 납작한 감상평이 나오지는 않았으면 좋겠다. 흔히 대학생 , 대학을 졸업한 뒤 갓 직장을 구했거나 구하는 중인 사회초년생 정도의 이미지로 표상되는 사람들 말고도 꼭 노동하는 청년, 이런 거 말고도, 어떤 규격화된 이미지로 납작하게 표상할 수 없는 사람들도 많이 있음을 한번쯤은 생각해보게 된다. 야간에 잔업 마치고 퇴근길이 고비. 버스 정류장을 지나면 .. 2022. 9. 12. 20:11
클린코드(Clean code) 6장 - 객체와 자료 구조 1. 자료구조 vs 객체 : 상황에 맞게 선택하기 절차적인 코드는 새로운 자료구조를 추가하기 어렵고 모든 함수를 다 고쳐야 한다. 자료구조를 사용하는 절차적 코드는 기본 자료구조를 변경하지 않으면서, 새로 함수를 추가하기 쉽다. 객체지향 코드는 기존 함수를 변경하지 않으면서 새로운 클래스를 추가하기 쉽다. 하지만 새로운 함수를 추가하려면, 모든 클래스를 고쳐야 한다. => 새로운 자료 타입 추가에 대한 유연성이 필요할때는 객체, 새로운 동작에 대한 유연성이 필요하면 자료구조와 절차적인 코드를 사용하자. 2. 디미터 법칙 클래스 C의 메서드 f는 이런 객체의 메서드만 호출해야 한다 -클래스 C -메서드 f 자신이 생성한 객체 -메서드 f 자신의 인수로 넘어온 객체 -클래스 C의 인스턴스 변수에 저장된 객체.. 2022. 9. 11. 12:06
클린코드(Clean code) 5장 - 형식 맞추기 1. 포맷팅의 중요성 : 가독성 가독성이 높은 글이 읽기 쉬운거랑 비슷함 들여쓰기 개판으로 꼬여있으면 읽기 넘 힘듦. 가독성 깔끔하게 작성하면 코드를 잘못 해석하여 버그를 발생할 위험도 낮출 수 있음 2. 너무 길게 작성하지 않기 를 지키기 솔직히 쉽지 않긴 한데... 연말정산이나 비례수수료 3천줄 넘어가는 코드도 천지 삐까리기는 한데.. 그래도 할 수 있으면 분리해서 짧게 짧게 끊어 가는것도 좋은 듯 파생개념의 경우 따로 소스를 분리한다든가 하는 노력을 기울여보자. 3. 밀접한 개념은 가까이에 두기 변수는 사용되는 위치에서 최대한 가까이 두기 (는 쉽지 않지만 그래도) 적절한 개행과 공백을 통해 개념을 구분하기 4. Java class declarations 1) static 변수 public > pr.. 2022. 9. 10. 21:53
클린코드(Clean code) 4장 - 주석 1. 주석을 최대한 쓰지 말자 개판 치고 주석으로 해명하는 것보다는 의미 있는 네이밍과 코드가 중요하다. 코드는 변화하는데, 주석이 쫓아가지 못하면 의미없는 컴파일도 안되는 텍스트 나부랭이 ..???????이게 가능한가 근데? 한번 쓰고 버릴 코드도 아니고 N년동안 기우고 굴려야 하는 sm입장에서는 히스토리 남기는 것도 너무 필요한 일인데... 인수인계할 때도 그렇지만, 과거의 나를 현재와 미래의 내가 믿지 못하는 사태가 너무 많음. 소스 커밋 체크인할 때 버전별 비교가 가능하지만 그거 가지고는 완전하지 않음 나는 그래서 날짜별로 상세하게 20220801 ~~ 기능 추가 / 요청자 ㅇㅇ부서 김뫄뫄 책임 이런식으로 어떻게든 기억날 수 있게 히스토리를 남기는 편. AA하면 BB하게 같은 기능 설명도 같이 하.. 2022. 9. 9. 23:30
클린코드(Clean code) 3장 - 함수 1. 객체지향 5대 원칙 다시보기 https://career-gogimandu.tistory.com/27 객체지향 설계에서 꼭 필요한 SOLID 5대원칙(SRP/OCP/LSP/ISP/DIP) SRP : Single Responsibility Principle, 단일책임 원칙 OCP : Open Closed Principle, 개방-폐쇄 원칙 LSP : Liskov Subtitution Principle, 리스코프 치환원칙 ISP : Interface Segregation Principle, 인터페이.. career-gogimandu.tistory.com 2. 함수 인수 너무 많이 때려박지 않기. 인수의 갯수는 많아야 2개 정도면 충분하다. 3개 이상은 너무 많아 .... 나 또 여기서 생각나는 코드 너무.. 2022. 9. 7. 21:50
밀란 쿤데라 - 참을 수 없는 존재의 가벼움 인스타 피드 내리다가 책발전소 북클럽에서 장기하씨를 8월 큐레이터로 선정하였다는 소식에 뭔지도 모르고 구매한 책이 도착해보니 하필 이거였다. 참을 수 없는 존재의 가벼움 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 큐레이터 레터에, 스무살 무렵에 읽었을 때와 최근의 감상이 다르다고 했는데 진짜 그럴 거 같긴 했다. 나 고기만두, 철학이라면 질색팔색하는 ST 유형 + 공대 출신인데, 철학적인 개념에 대한 이야기도 많고, 생각할 것들이 매일 챕터마다 바뀌는. 우리 인생의 매 순간이 무한히 반복되어야만 한다면, 우리는 예수 그리스도가 십자가에 못박혔듯 영원성에 못 박힌 꼴이 될 것이다. 이런 발상은 잔혹하다. 영원한 회귀의 세상에서는 몸짓 하나하나가 견딜 .. 2022. 9. 5. 21:48
클린코드(Clean code) 2장 - 좋은 이름 짓기 앞장 복습은 요기서 https://career-gogimandu.tistory.com/119 클린코드 1장 - 좋은 코드와 나쁜 코드 https://career-gogimandu.tistory.com/115 Java 힙 공간 에러 발생한 배치 성능개선후기 2022.08.19 개발된지 3년이 넘은 이후로 마지막 수정 2019년 초 나 입사 전 그 뒤 전혀 수정 없이 매달 루틴하게 잘쓰던.. career-gogimandu.tistory.com 1. 의미가 분명한 이름 짓기 : int a, String b 이런 이름 말고 itemcount, itemname 같이, 뭔 말하는지 알아먹기 쉽게 친구가 팀원이 저따위로 이름을 지어놨다고 개빡쳐한 거 본 기억 난다... 나여도 황당할듯 2. 반복문 돌릴 때 i, j,.. 2022. 9. 5. 07:50
728x90
반응형