공부

[공부] 좋은 개발자가 되기 위한 팁

오잎 클로버 2022. 4. 2. 14:44
728x90

여러 글들을 읽다보니 "좋은 개발자"와 관련된 글들이 있어 지인 및 제가 생각했을 때(라곤 했지만, 그냥 제 개인적인 생각과 지인 피셜을 합친 결과물입니다.)

1. 에러(예외) 메시지를 읽는다.

많은 주니어 개발자, 그리고 제 주변에 있는 친구들만 봐도 에러(예외) 메시지를 읽지않고 그냥 복사 & 붙여넣기를 하여
해결하는 경우가 대다수입니다. 문제를 해결하는 데 있어 빠르게 찾고 문제 원인을 찾을 수 있기때문에 꼭 읽어야한다고 생각합니다.

2. 테스트 케이스를 작성한다.

테스트 케이스를 정의하고 테스트를 진행했다는 것만으로도 충분히 해당 코드를 작성한 개발자에게 신뢰감을 줍니다.
(메인 코드만 봐서는 제대로 작동하는 지 어떠는 지 제대로 파악하는 것은 어렵다.)
또, 테스트 케이스를 작성하는 것으로 미리 발생할 예외를 파악할 수도 있습니다.

3. 코드 리뷰를 한다.

코드 리뷰는 개발자의 시야를 넓게 만들어준다고 한다(지인 피셜). 본인 외에 다른 사람이 작성한 코드를 보면서
"왜"라는 질문을 계속 던질 수 있고, 문제 혹은 기존 기획과 다르다면 리뷰를 통해 알려줄 수 있습니다.
즉, 리뷰를 하는 사람은 질문을 던지며 시야를 넓히고, 리뷰를 받는 사람은 피드백을 받게 됩니다.

4. 객체 지향적인 개발을 지향한다.

객체 지향적인 개발은 말그대로 클래스와 객체를 한 번만 사용할 목적이 아닌 여러 번 중복 코드를 최소화할 수 있으며,
캡슐화, 상속 등을 통해 프레임을 갖추어 보다 안정적인 개발이 가능합니다.

5. git(깃)을 사용한다.

git은 협업에 있어서 빠질 수가 없는 부분입니다. 브렌치를 새로 만들어서 개발을 하고 코드 리뷰를 받고 병합을 하고
유지보수를 쉽게 할 수 있습니다. 또, 자동화를 하는 데 역시 적용할 수 있는 부분입니다.

6. 테스트를 쉽게할 수 있도록 개발한다.

테스트 케이스를 작성하고, 테스트를 하고 예외처리를 하기 위해서는 테스트를 가능한 쉽게 만들수록 산출물을 사용하는 입장에서 편리하게 사용할 수 있다는 뜻이기도 합니다.

7. 속도를 향상한다.

Kent Beck이 한 말 중 이런 말이 있습니다.

Make it work.
Make it Right.
Make it Fast.

무언가를 작동하게 하고, 제대로 만들고, 빠르게 만들어라.
이처럼 속도는 매우 중요한 부분이기도 합니다.
많은 고객들을 기다리게 하는 것은 웬만해서는 지양해야하는 방법입니다.
자바를 튜닝하고 스프링부트 커넥션(엔티티 팩토리 등)을 사용하는 것을 지향하는 방법입니다.

8. 리펙토링을 스스로 진행한다.

스스로가 기존의 코드를 보며 어떻게, 왜, 그래서 이 3가지를 끊임없이 자문을 하면서
스스로에게 리펙토링을 하면서 점점 자신의 실력을 쌓아갈 수 있을 것이라고 생각이 듭니다.

9. 이슈를 자주 남긴다

어떤 것을 수정하고 추가하고 없애는 경우에 많이 이슈를 남깁니다. 필요하다고 느끼던 느끼지 않던 사소한 것 하나라도 이슈를 남겨 알려주는 것이 협업에는 아주 크게 작용하기 됩니다.

10. 마이너와 하드코딩은 지양합니다.

마이너할 수록 사용하지않을 확률이 높으며, 전혀 객체지향적이지 않은 방식입니다.
하드코딩인 경우에는 특정값이 바뀔 경우, 알고리즘 전체가 다 바뀔 수도 있습니다.
위 10가지 중 8개는 제가 생각해낸 방법입니다.


이상입니다.