Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL-Assignment #02(2022.02.20[일]) - 의미있는 이름
#clean_code
2년 전
598


TIL (Today I Learned)

오늘 읽은 범위

  1. 의미있는 이름

책에서 기억하고 싶은 내용을 써보세요.

  • 중복된 변수명 사용금지, 클래스와 변수에는 명사와 명사구를, 함수와 메서드에는 동사와 동사구를 사용한다.

  • 접두어를 지양하자. ex) const str_message = ... [str_는 문자열 자료구조를 뜻함.]

  • 명확성이 떨어지는 이름을 지양하자 ex) getAccount, getAccountInfo

  • 자료구조 이름이 들어가는 변수, 클래스 이름을 지양하자. ex) class AccountList{}

  • 인터페이스와 추상객체 둘 중 고민하자면 추상객체를 사용하자.

  • 생성자 오버로딩을 해야 할 시 오버로딩보다는 static메서드를 사용하여 명시적으로 표현하자.

  • IDE에서 검색이 가능할 정도로 명확한 이름을 지정하는 것이 좋다.

  • 변수와 함수를 정의한 의의가 무엇인지 읽는 사람이 알아볼 정도로 정확히 표현하자.

  • 약1줄 ~ 5줄이내의 함수일 경우 내부의 반복문은 ijk를 지정하여 사용해도 괜찮다. 단 l이나 o는 사용해선 안된다.

  • 상수의 경우 지정한 상수가 어떤 뜻을 의미하는지 변수로 의미를 부여하여 사용하자.

  • 전문가 프로그래머는 읽는 사람을 이해시키기 위한 가독성이 높은 코드를 작성한다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

지금까지 프로그램 개발을 하면서 지은 변수이름들을 생각해보면 특히나 추상적인 이름을 많이 사용한 느낌이 강하다. 특히나 기억하고싶은 내용의 3번째 항목에서 많이 공감이갔는데 보통 ajax를 통한 api함수를 작성하다보면 추상적인 변수이름들을 사용했던 경험이 많이있었기 때문에 더욱 기억에 남아있는것 같다. 또한 책을 읽으면서 interface에 대해 I접두사를 붙일것인가. 안붙일것인가에대한 저자의 서술 또한 재미있게 읽었던 부분 중 하나이다.

읽으면서 머릿속에 생각났던 것 중 하나가 프로그래머들이 기능 개발에 투자하는 시간이 코드 읽기, 변수명 짓기가 높은 비율로 시간 투자가된 통계를 보았던 것이 생각이 난다.

이 생각을 기반으로 느낀점으로 첫째는 책을 많이 읽자. 두번째로는 영어에 대한 절실함에 대해 느끼게 되었다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

휴리스틱을 처음 보았는데, 휴리스틱을 처음에는 읽지 않고 읽은 것과 휴리스틱을 읽으면서 책 본분을 읽으니 훨씬 이해가 잘가는 부분도 있었다. 다만, 휴리스틱에 나온 나쁜 코드를 하나씩 읽으려니 잘 이해가 가지않아 억지로라도 나쁜 코드를 보고 해석해야하는 것이 맞는 것인지 궁금하다.