-
20220907 TIL 내가 알던 for문이 아냐!TIL 2022. 9. 7. 18:20
대부분의 프로그래밍 언어에서 for문은 for(초기화 식; 조건식; 증감식) 으로 구성된다.
그런데 자바에서 초기화 식, 조건식, 증감식 그 어느 것에도 아무 것도 안 넣어줘도 멀쩡히 돌아간다는 것을 아는가..
루프변수가 초기화 식에서만 선언될 필요는 없는 것은 알고 있었지만 for문은 생각보다 자유로웠다..!for(;;)으로 무한루프를 돌릴 수 있고,
초기화 식을 미리 선언하면 쓰지 않아도 된다.
조건식을 for문 내부에서 쓰는 경우에 조건식을 생략할 수 있고, 증감을 for문 내부에서 하는 경우 증감식도 생략할 수 있다.
그렇지만 그렇게 할 수 있는 걸 수많은 루프를 돌리면서 왜 이때까지 몰랐을까?
사람들이 그렇게 많이 사용하지 않기 때문이다.
그리고 그렇게 사용하지 않는 이유는 그렇게 사용하지 않는 게 더 낫기 때문이다.
for문을 애써 써놓고 초기화 식, 조건식, 증감식을 따로따로 놔두면 일부러 관심사의 분리를 위해 for문을 만든 게 헛수고가 된다.
항상 코드를 읽는 사람에서 생각해야 한다.
옛날 옛적에는 남이 내 코드를 못 알아보게 할수록 자부심이 뿜뿜하는 시절이 있었다고도 하지만,
점점 복잡하고 거대한 것을 다뤄야 하는 개발자는 협업이 필수다.
그리고 협업을 잘하기 위해서는 읽기 좋은 코드가 필수다.
어떻게 하면 더 관심사의 분리를 잘하고 추상화를 잘해서 1년 후의 내가, 그리고 남이 이해하기 쉬운 코드를 짤 지 항상 고민하자.
그리고 배열의 크기를 이용해서 반복문을 돌리는 게 습관이 들었는데, 배열 안의 객체들로 반복문을 돌릴 때는 for(변수 : 배열) 형식의 반복문을 쓰는 게 간단하고 가독성이 높으니 배열의 크기를 이용해서 반복문을 돌리지 않았는지 셀프리뷰를 꼭 하자.'TIL' 카테고리의 다른 글
20220909 TIL 람다식 너도 객체? (0) 2022.09.09 20220908 TIL 다 이유가 있다. (0) 2022.09.08 20220906 TIL 인터페이스가 뭐예용? (0) 2022.09.06 20220905 TIL 마우스 없이 살아남기 (0) 2022.09.05 20220904 TIL 메가테라 수강생이 알려주는 메가테라의 가장 좋은 점 (0) 2022.09.04