[심화] 전역변수도 매개변수로 하는 이유는 무엇일까?

728x90

전역변수도 매개변수로 하는 이유

전역 변수를 직접 사용

⸰ 장점

  -간결함: 코드가 더 간단하고, 함수 호출 시 매개변수를 추가로 전달할 필요가 없음

  -직관성: 빠르게 변수를 참조

⸰ 단점

  -테스트와 디버깅의 어려움: 함수가 외부 상태에 의존하게 되어 유닛 테스트가 어렵고, 코드의 이해도가 떨어짐

  -부작용의 위험: 전역 변수를 수정하는 함수는 다른 부분에서도 영향을 미칠 수 있어, 부작용이 발생

 

매개변수로 전달

⸰ 장점

  -테스트와 디버깅의 용이성: 외부 상태에 의존하지 않으므로 테스트가 용이하고, 함수의 의도를 명확하게 파악

  -부작용의 방지: 함수가 직접 수정하지 않고, 수정된 결과를 반환하기 때문에 함수의 부작용을 줄일 수 있음

  -재사용성: 함수가 다양한 상태를 입력으로 받아 동작

⸰ 단점

  -코드의 복잡성 증가: 각 함수 호출마다 전달해야 하므로, 함수 호출이 다소 복잡할 가능성

 

복잡한 프로젝트, 장기 유지보수가 필요한 경우 > 매개변수로 전달하고 결과를 반환하는 방식이 더 적합

 

 

 

728x90