티스토리 뷰

반응형

loop 함수 어떤걸 사용할까?

이 포스팅을 찾아온 사람이라면
이제 개발의 세계에 들어온 학생들 혹은 이직을 준비하는 직장인 일것이다.

결론부터 말하면 whilefor 이 둘의 차이는 없다.

정확히 말하면 처리시간에 차이는 있을지 몰라도 그 시간 차이는 무시할 수 있을
정도로 작다.

그렇지만 나의 블로그에 찾아온 사람들에게 해주고 싶은 말은 ...

❌ 절대 while 문을 사용하지 마! ❌

취준생을 졸업하고 큰 기업에 주니어 개발자 일을 시작한 철수는

사수로부터 하나의 일을 부여받게 된다.

배열을 순회하며 "날씨" 카테고리의 내용을 문자열로 분리하여 중간에 삽입하세요.

가공 전

{
  "category": "날씨",
  "content": "오늘 강원도 날씨는 ...       오늘 새벽 동해안에 강한 비바람 ...       미세먼지 주의 ..."
}

가공 후

{
  "category": "날씨",
  "content": "오늘 강원도 날씨는 ...",

  "category": "날씨",
  "content":"오늘 새벽 동해안에 강한 비바람 ...",

  "category": "날씨",
  "content": "미세먼지 주의 ..."
}

철수는 어떻게 접근했을까?

주어진 배열의 중간에 배열을 추가하게 된다면 배열의 크기가 변하겠네?

loop 횟수를 정해줘야하는 for 문을 사용하는 것 보다 while을 사용하는 편이 좋겠다!

멍청이가 따로 없다.

주어진 데이터가 언젠가 달라질 것이라는 예외적인 상황은 전혀 고려하지 않고 주어진 일만 처리한다는
생각만 가지고 있다.

데이터가 변경되어 데이터 처리가 끝나지 않는 상황이 언젠가 찾아올 것이다.

이 경우 while 문 2번 3 번만 돌려도 서버에 엄청난 부하가 발생한다는 것을 모르고 있다.

그럼 철수는 어찌해야할까?

우선 며칠을 머리를 뜯으며 while 문을 피할 방법을 고민해야 한다.

서버가 터지고 디버깅하는 상황보다 개발 시간을 더 가져가는 것이 기업의 이익일 것이다.

while문을 사랑하는 사람들에게

결코 while문을 사용하지 말라는 것은 아니다.

while 문을 지양해야하는 이유를 내 경험에 빗대어 알려준 것이다.

while 은 양날의 검 이다.

제대로 break를 잡지 못한다면 루프는 끝나지 않으며 결과적으로
기업적 손실이 발생할 것이고 욕을 엄청 먹을 것이다.

while문을 사랑하는 만큼 for 문을 사랑한다면

아마 풀지 못할 문제는 없을 것이다.

그럼에도 답이 나오지 않는다면 그때 while을 사용해도 늦지 않을테니까...

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함