[요구사항 탐구] indent(인덴트, 들여쓰기) 2까지만 허용한다.
이 글은 요구사항에 대해서 의문점을 가지고 질문을 던지며 의문점을 해결해나가는 글입니다.
지금은 1주 차 미션이 끝나고 2주 차 미션이 시작된 시점이지만, 그 전에 1주차에 제시되었던 요구사항중 하나의 요구사항에 대해서 탐구했던 것을 포스팅해보려 합니다.
우테코 프리코스 1주 차 미션을 처음 받았을 때 제목과 같은 요구사항을 볼 수 있었습니다. 그 아래에는 아래와 같은 문구들이 쓰여있었습니다.
- 예를 들어 while문 안에 if문이 있으면 들여쓰기는 2이다.
- 힌트: indent(인덴트, 들여쓰기) depth를 줄이는 좋은 방법은 함수(또는 메소드)를 분리하면 된다.
처음 들었던 생각은 '가독성을 위해서 indent를 2까지만 쓰라는 건가'였습니다.
아무래도 블록문(미션에서는 함수를 의미한 게 아닐까 싶다.)에서 코드의 depth가 깊다는 것은 해당 블록문(함수)에서 여러 개의 분기문을 사용을 한 다는 것이고 그렇게 된다면 하나의 블록문(함수)가 많은 역할을 담당하게 된다는 것을 의미합니다. 최종적으로, depth가 깊어지면 블록문(함수)의 역할이 정확히 무엇인지 파악하기 힘들어지게 되면서 코드의 가독성이 떨어지게 되는 것입니다.
저의 해석이 맞았는 지 구글링을 실컷 해보았습니다.
아래 링크에 들어가면 저의 해석과 비슷한 이야기가 나옵니다.
JavaScript Code Styling Best Practices — Maximum Depth and Lines
No deeply nested code and long code vertically or horizontally.
levelup.gitconnected.com
nested depth는 2~3이 적절하다 왜냐하면 더 길어지게 되면 가독성이 떨어지기 때문이다.
글을 마치며
indent(인덴트, 들여쓰기) 2까지만 허용한다.라는 요구사항이 우테코 교육생들에게 전하는 말은 가독성있는 코드를 짜도록 노력해라이지 않을까 싶습니다.
해당 요구사항 덕분에 1주 차 미션에서 함수 내에서 최대한 분기를 적게 사용하면서 코드를 작성할 수 있었습니다. 앞으로는 depth를 최소로 가지고 갈 수 있도록 노력할 예정입니다.
'프리코스 > 프리코스 - 요구사항 탐구' 카테고리의 다른 글
[요구사항 탐구] 함수(또는 메소드)의 길이가 15라인을 넘어가지 않도록 구현한다 (0) | 2021.12.02 |
---|---|
[우테코-프리코스] 1주차 - 요구사항 분석 (0) | 2021.11.24 |