• [CleanCode] 6장 객체와 자료 구조

    자료 추상화 자료/객체 비대칭  자료 구조를 사용하는 절차적인 코드는 기본 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다. 디미터 법칙 final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath(); Oprions opts = ctxt.getOptions();File scatchDir = opts.getScratchDir();final String outputDir = scratchDir.getAbsolutePath(); 참고 링크

  • [CleanCode] 5장 형식 맞추기

    형식을 맞추는 목적 프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다.  코드 형식을 맞추기위한 간단한 규칙을 정의하고 그 규칙을 착실히 따라야 한다. 팀으로 일한다면 팀이 합의해 규칙을 정하고 모두가 그 규칙을 따라야 한다. 필요하다면 규칙을 자동으로 적용하는 도구를 활용한다. 적절한 행 길이를 유지하라 팀 규칙 밥 아저씨의 형식 규칙

  • [CleanCode] 4장 주석

    브라이언 W. 커니헨, P.J. 플라우거“나쁜 코드에 주석을 달지 마라. 새로 짜라.” 잘 달린 주석은 그 어떤 정보보다 유용하다. 그러나 우리가 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면 주석은 필요하지 않다.그러므로 주석이 필요하면 상황을 역전해 코드로 의도를 표현할 방법은 없는지 생각하자! 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다. 부정확한 주석은 독자를 현혹하고 오도한다. 더 이상 지킬 필요가 없는 규칙이나 지켜서는 안 되는 규칙을 명시한다. 코드는 자신이 하는 일을 진실되게 말한다. 코드만이 정확한 정보를 제공하는 유일한 출처다. 그러므로 우리는 (간혹 필요할지라도) 주석을 가능한 줄이도록 꾸준히 노력해야 한다. 어떤 주석은 필요하거나 유익하다.

  • [CleanCode] 3장 함수

    함수를 만드는 첫째 규칙은 ‘작게!’다. 함수를 만드는 둘째 규칙은 ‘더 작게!’다. Circle makeCircle(Point center, double radius);

  • [CleanCode] 1장 깨끗한 코드

     궁극적으로 코드는 요구사항을 표현하는 언어라는 사실을 명심한다.  빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.

  • a 태그 대체하기

    a 태그 링크없이 마우스 모양반 변경하고 싶다면?   이를 대체할 수 있는 방법을 몇 가지 올려보도록 하겠습니다.  

  • [EffectiveJava] 12장 직렬화

    85. 자바 직렬화의 대안을 찾으라 86. Serializable을 구현할지는 신중히 결정하라 87. 커스텀 직렬화 형태를 고려해보라 88. readObject 메서드는 방어적으로 작성하라 89. 인스턴스 수를 통제해야 한다면 readResolve보다는 열거 타입을 사용하라 90. 직렬화된 인스턴스 대신 직렬화 프록시 사용을 검토하라

  • [EffectiveJava] 11장 동시성

    78. 공유 중인 가변 데이터는 동기화해 사용하라 79. 과도한 동기화는 피하라 80. 스레드보다는 실행자, 태스크, 스트림을 애용하라 81. wait와 notify보다는 동시성 유틸리티를 애용하라 82. 스레드 안전성 수준을 문서화하라 83. 지연 초기화는 신중히 사용하라 84. 프로그램의 동작을 스레드 스케줄러에 기대지 말라