문제

기본 앱 파일에 필요한 전체가있는 경우 :

require 'a'
require 'b'
require 'c'
require 'd'
require 'e'
require 'f'
require 'g'
require 'h'
require 'i'
require 'j'

이 모든 것을 제거하고 필요한 모든 것을 수행하는 별도의 파일에 넣는 것이 나쁜 관행일까요?all_requires.rb' - 그래서 나는 그냥 말할 수 있습니다.

require 'all_requires'

나는 다른 사람들의 코드 에서이 접근법을 본 적이 없으므로 아마도 이유가 있습니까?

도움이 되었습니까?

해결책

그 자체로는 실제로 아무런 문제가 없지만 루비에서는 일반적으로 그 이익이 많지 않은 것 같습니다. 당면한 파일이 의존하는 것을 숨기고 다른 수준의 간접 수준을 추가합니다. 또한 조건부 요구와 함께 잘 작동하지 않습니다. 좋아하는 것이 더 일반적입니다.

DEPENDENCIES = %w(a b c d e f g h i j k)
DEPENDENCIES.each {|f| require f}

그렇게하면 거대한 기차를 피합니다 require 라인이지만 여전히 국소화되고 선언적으로 유지됩니다.

다른 팁

모든 파일을 명시 적으로 요구하는 주된 이유는 단지 그다는 것입니다. 일반적으로 명시 적으로 좋은 것입니다. 이렇게하면 코드를 읽는 다른 사람 (또는 몇 달 후)은 무슨 일이 일어나고 있는지 알아내는 데 더 쉬운 시간을 가질 것입니다.

요구 사항이 다른 파일에 있으면 상황이 어디에서 오는지 알기가 다소 어려워 질 수 있습니다.

여러 파일에 해당 파일 10 개를 모두 필요로하면 완벽하게 이해됩니다.

하나의 추가 파일 액세스를 수행하고 이런 식으로 추가 파일 하나를 구문 분석하지만 걱정하는 것은 실제로 마이크로 최적화입니다. 코드를 깨끗하게 만들거나 읽기 쉬운 경우 가십시오. 디스크에서 하나의 파일을 읽지 않음으로써 인식 된 저장된 사이클보다 훨씬 중요합니다.

Opcode 캐싱 (APC, Eaccelerator 등)을 사용하는 경우 무조건 포함을 수행하기 때문에 이론적 차이도 거의 사라집니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top