ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 20220907 TIL 내가 알던 for문이 아냐!
    TIL 2022. 9. 7. 18:20


    대부분의 프로그래밍 언어에서 for문은 for(초기화 식; 조건식; 증감식) 으로 구성된다.
    그런데 자바에서 초기화 식, 조건식, 증감식 그 어느 것에도 아무 것도 안 넣어줘도 멀쩡히 돌아간다는 것을 아는가..
    루프변수가 초기화 식에서만 선언될 필요는 없는 것은 알고 있었지만 for문은 생각보다 자유로웠다..!

    https://images.app.goo.gl/P4CRL4LVY4cCcNrw9

    for(;;)으로 무한루프를 돌릴 수 있고,
    초기화 식을 미리 선언하면 쓰지 않아도 된다.
    조건식을 for문 내부에서 쓰는 경우에 조건식을 생략할 수 있고, 증감을 for문 내부에서 하는 경우 증감식도 생략할 수 있다.
    그렇지만 그렇게 할 수 있는 걸 수많은 루프를 돌리면서 왜 이때까지 몰랐을까?
    사람들이 그렇게 많이 사용하지 않기 때문이다.
    그리고 그렇게 사용하지 않는 이유는 그렇게 사용하지 않는 게 더 낫기 때문이다.
    for문을 애써 써놓고 초기화 식, 조건식, 증감식을 따로따로 놔두면 일부러 관심사의 분리를 위해 for문을 만든 게 헛수고가 된다.

    항상 코드를 읽는 사람에서 생각해야 한다.
    옛날 옛적에는 남이 내 코드를 못 알아보게 할수록 자부심이 뿜뿜하는 시절이 있었다고도 하지만,
    점점 복잡하고 거대한 것을 다뤄야 하는 개발자는 협업이 필수다.
    그리고 협업을 잘하기 위해서는 읽기 좋은 코드가 필수다.
    어떻게 하면 더 관심사의 분리를 잘하고 추상화를 잘해서 1년 후의 내가, 그리고 남이 이해하기 쉬운 코드를 짤 지 항상 고민하자.

    그리고 배열의 크기를 이용해서 반복문을 돌리는 게 습관이 들었는데, 배열 안의 객체들로 반복문을 돌릴 때는 for(변수 : 배열) 형식의 반복문을 쓰는 게 간단하고 가독성이 높으니 배열의 크기를 이용해서 반복문을 돌리지 않았는지 셀프리뷰를 꼭 하자.

    댓글

Designed by Tistory.