본문 바로가기

분류 전체보기128

커밋 메시지 수정하기(intelliJ) 커밋 메시지 수정하기 아래와 같이 다양한 상황에서 커밋 메시지를 수정하는 방법을 알아본다. 1. 최근의 커밋 메시지를 수정하고 싶은 경우 2. 과거의 커밋 메시지들을 수정하고 싶은 경우 3. 저장소에 이미 올라가 있는(Push 된) 커밋 메시지를 수정하고 싶은 경우 1. 최근의 커밋 메시지를 수정하고 싶은 경우_amend 커밋 메시지를 급하게 작성하느라 예기치 않은 오타가 발생하거나 여러 이유들로 인해, 메시지 작성 후 바로 수정하고 싶은 경우가 있다. 이럴 때는 amend 라는 커맨드를 사용해서 커밋 메시지를 수정할 수 있다. amend는 가장 최근 커밋을 수정하는 커맨드이다. 이를 이용해서 커밋 메시지만을 수정할 수도 있다. 아래와 같이 새로 number 필드를 추가했다고 하자. [변경_number .. 2023. 8. 13.
9. 단위 테스트 단위 테스트 1. 단위 테스트의 필요성 실제 코드는 여러 가지 요인에 의해서 변하기 마련이다. 실제 코드를 변경하면 상황에 따라 테스트 코드 또한 변경해 줘야 할 필요가 있다 하지만 작성되어 있는 테스트 코드가 가독성이 낮고, 복잡하게 구성되어 있다면 테스트 코드를 변경하기에는 어려움이 따르고 실제 코드를 변경하는데 걸림돌이 될 수 있다. 역으로 보기 좋게 작성된 단위 테스트는 코드에 유연성, 유지 보수성, 재사용성을 제공한다. 앞서 언급된 것처럼 가독성이 낮고 복잡한 테스트 코드는 실제 코드 변경에 어려움을 겪게 한다. 하지만 잘 짜인 단위 테스트는 실제 코드의 변경에 따른 변경사항과 사이드 이펙트를 쉽게 파악할 수 있게 해 준다. 또한 실제 코드의 변경에 따라 단위 테스트 역시 유연하게 수정될 수 있.. 2023. 6. 23.
6. 객체와 자료 구조 객체와 자료 구조 (어떤) 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견 없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다. -요약- 어설픈 캡슐화를 지양하고 추상화를 활용해라. 객체와 자료 구조를 명확히 구분하고 사용해라. 1. 객체 지향 1.1 모든 필드에 get과 set을 만들지 마라 모든 필드에 get()과 set()을 만든다면 이 객체는 자료 구조와 다를 바 없다. 형식적인 캡슐화를 하지말고 추상화를 통해 객체 내부의 값을 숨기고 역할을 부여하자 이런 방식은 더 유연하고 확장 가능한 코드를 작성하는데 도움이 된다... 2023. 6. 18.
5. 형식 맞추기 형식 맞추기 뚜껑을 열었을 때 독자들이 코드가 깔끔하고, 일관적이며, 꼼꼼하다고 감탄하면 좋겠다. 질서 정연하다고 탄복 하면 좋겠다 모률을 읽으며 두 눈이 휘둥그래 놀라면 좋겠다. 전문가가 짰다는 인상을 심어주면 좋겠다. 그 대신에 술 취한 뱃사람 한 무리가 짜놓은 듯 어수선해 보인다면 독자들은 프로젝트의 다른 측면도 똑같이 무성의한 태도로 처리했으리라 생각할 것이다. -요약- 읽히기 편한 코드 형식을 추구해라. 팀이 정한 규칙을 준수하고 일관성을 유지하라. 1. 읽히기 편한 코드 형식 1.1 신문 기사처럼 코드를 작성하라 신문은 가장 중요한 기사가 상단에 있고 아래로 내려가면서 그에 대한 세부적인 기사들이 나열된다. 코드 또한 추상화단계가 높은 코드가 상단에 위치하고 그에 종속되는 코드가 바로 아래에 .. 2023. 6. 18.