220714-TIL 프로그램을 잘짜고 있는걸까? 개발 초보가 받은 첫 피드백

junhyeong·2022년 7월 14일
0

TIL

목록 보기
7/37

평소에 과제로 프로그램을 만들면서

이거 작동은 '잘'되는데 '잘'완성된 코드일까?

라는 생각이 계속 들었다.

일단 작동하면 다른 과제로 넘어가긴 했는데

따로 피드백 받은 게 아니니 뭘 알 수가 없었다.

-글 밑에 피드백 받은 내용이 있으니 나처럼 개발 초보가 참고하면 도움되는 정보를 얻어갈 수 있을 것이다.

드디어 어제부터 피드백을 받기 시작했다.

드디어 기다리던 피드백 시간..!

솔직히 이정도면 못하진 않았겠지?라는 생각이 피드백을 열어보자마자 사라졌다.

과제 한개 빼고는 최소 하나 이상은 고쳐야될 게 있었다.

내 프로그램들을 사진으로 표현하자면 이런 느낌이 아닐까

마치 작동은 하는데... 작동만 하는 느낌

코딩이든 세면대든
나는 저렇게 생긴건 못참는다!

그럼 이제 정상적인 세면대로 바꿔보자!

수정해야될 건 많았지만 정리해보자면 크게 2가지였다.

1. 코드들 사이의 '빈 줄'의 의미

위 사진은 각 if문이 실행하고 있는 코드들 사이에 연관성이 없다고 받은 피드백이다.

솔직히 코딩을 하면서 깔끔하고 보기 좋으면 되지 빈 줄의 의미까지는 생각해본적이 없었다.

그래서 다른 코드들에는 빈 줄이 2줄이상인 것도 많았다. (참고-2줄이상 비워둬야 하는 경우는 없다.)

코드 사이의 빈줄이 어떤 연관성이 있는지 아는 게 없었으니

필요한 곳에는 줄이 없고, 반대로 의미없는 줄들은 넘쳐났다.

문제: 코드들 사이의 연관성을 생각 안하고 빈 줄의 활용을 적절히 못했다.

해결방법: 코드들 사이의 연관성을 파악하고 연관성이 있다면 붙이고, 없다면 한 줄을 비운다.(2줄이상 비우지 않기)

  1. 코드 가독성이 떨어진다.


먼저 이 사진을 보면 조건문이 복잡하다는걸 알 수 있다.

내가 작성했지만 한 번에 알아보기 어렵다.

두번째 사진은 'count'에 'count +1'을 해줘서
'count'를 중복해서 사용하기 때문에 오해를 일으킬 수 있다.

이 두 코드의 공통점은 뭘까?

바로 가독성이 떨어진다는 것이다.

코드를 사용하는데 혼자만 알아볼 수 있는 코드, 심지어 자기도 알아보기 어려운 코드를 사용한다면

문제가 생겼을 때 파악하거나 수정하기가 어렵다.

또한 다른 사람과 같이 하는 프로젝트에서 이렇게 코드를 작성한다?
5분 고민할걸 1시간 고민하게 해줄 수 있을 것이다.

종합 해결방법: 코드를 읽는 사람으로 하여금 어떻게 하면 이해가 잘 될까 고민 해본다.

1번 코드 해결방법: 적절하게 변수를 이용하여 분리해준다.
2번 코드 해결방법: 기존변수에 값을 더할때는 count += 1 같은 형태를 사용해준다.


다른 수정사항도 있었지만 모두 이 2가지에 포함되는 것들이었다.

첫 피드백을 받으면서 느낀건

그저그런 코드를 작성해도 작동은 하지만, 작동하기만 하는 코드랑 좋은 코드는 다르다는 것이다.

앞으로도 좋은 코드를 배워
위에 사진처럼 작동만 하는 세면대가 아니라
내가 보기에 좋고 남들이 보기에도 좋은 코드를 만들어보자!

profile
매일매일이 성장하는 하루가 될 수 있도록!

0개의 댓글

관련 채용 정보