3
attr_accessor가 설정된 것으로 가정하고 클래스 내에서 인스턴스 변수에 액세스하는 것이 가장 바람직한 지 궁금합니다.Ruby 인스턴스 변수 액세스
class Test
attr_accessor :user
def initializer(user)
@user = user
end
def foo
@user
end
end
또는 인스턴스 변수 (@user) 또는 게터 방법 (시험 # 사용자)에 의해 그래서
class Test
attr_accessor :user
def initializer(user)
@user = user
end
def foo
self.user
end
end
?
아이디어는 루비에 좌우되지 않습니다. 속성이 필드보다 선호되는 이유는 http://stackoverflow.com/questions/3069901을 참조하십시오. – Gishu
attr_accessor가 내부 용으로 만 추가되는 경우 어떻게됩니까? 외부 액세스에 이러한 속성이 필요하지 않기 때문에이 시점에서 attr_accessor를 추가 할 필요가 없으므로 인스턴스 변수를 내부적으로 사용하여 설정/설정하는 것이 더 합리적입니까? – user577808
@ user577808 리팩터링이 더 쉽기 때문에 동일한 원칙이 클래스 내에서 적용되지만 컨텍스트가 작을수록 덜 중요합니다. 그러나 클래스의 최소 인터페이스를 노출하는 것이 좋습니다.이 경우 get/set을 사용하면 private이어야합니다. – Mori