개발자로서 갖춰야할 태도

오류

  • 오류가 났을 때 끝까지 추적하는 것이 필요하다.

    • 첫 번째 오류를 해결하다가 또 다른 오류가 발생할 때 두 번째 오류를 해결한 후 첫 번째 오류는 기억 저 멀리로 가는 경우가 종종 있었다.

      • 오류가 있지만 실행이 되는 경우가 해당 경우인데 바로 인지하지 못하기 때문에 큰 문제를 발생시킬 수 있다.

    • 임시적으로 오류를 처리하여 근본적인 원인을 해결하지 않는 경우도 있다.

    • 대충 넘긴다면 오류는 분명히 다시 발생하기 때문에 돌아간다고 방심하지말고 끝까지 오류를 해결하는 것이 중요하다.

 

재사용성

  • 모듈화

    • 공통적인 기능을 묶어서 중복 코드를 방지하자.

    • 유지보수 및 가독성은 덤으로 얻을 수 있다.

 

코드 일원화

  • (상위) 한 곳에서 공통으로 처리하는 것을 의미한다.

  • 관점 지향 프로그래밍이나 MSA 서버 분산화를 통해 특정 서버에 책임을 일임하는 것도 해당한다.

 

예외

  • 다양한 예외 케이스 고려하여 코드를 작성한다.

    • Java는 특히 null-safety한 편이 아니기 때문에 null check에 유의하자.

      • Validation annotation 및 Optional 활용



DB

  • 슬로우 쿼리를 지양하자

  • 가벼운 select 자주 일어나는 것을 인지하며,
    쿼리상에서 끝낼 수 있는 작업은 코드까지 가져오지 않도록 한다.

    • ORDER BY A, B, C로 끝낼 수 있는 작업이 코드에서는 길어진다.

  • 연관 테이블까지 호출할 경우 Join을 잘 활용하자

    • 데이터가 대용량이라면 sub query로 범위를 좁히는 것이 나을 수 있다.

  • 데이터 일괄 조회 또는 일괄 변경을 유의하여 단건 처리를 지양하자.

    • 효율적이며, 트랜잭션은 짧게 가져가는 것이 안정성에서도 좋다.

  • 여러 쿼리 또는 외부 영향을 받는 작업 단위라면 트랜잭션을 잘 묶어주자.

 

 

기타

  • 오류 발생 시 디버깅부터 하자

    • 오류가 왜 발생하는지 모르겠어서 화면을 뜷어지게 응시하며 어디가 문제인지 찾는 경우가 종종 있었다.

    • 오류가 발생하면 얼른 디버깅을 실행하여 실제 값을 따라가며 어디가 문제인지 직접 확인하자.

댓글을 작성해보세요.