인코딩에서 너의 의도를 표현해라. 아니야.

본 시리즈의 앞부분에서 나는 밑줄_을 단기 변수의 접두사로 삼을 것을 건의한다.여기서 나는 변수명이 그들의 의도에 의해 결정되는 또 다른 예를 토론할 것이다.
주의: 사람들이 self.에 중독되다
클래스를 작성하고 있다면, 방법에 논리가 있고, 이 방법에 변수를 정의하고 있습니다. 이 변수가 이 방법 이외에 아무런 용도가 없다면 사용하지 마십시오. self.😌
변수를 self. 에 분배할 때, 코드의 독자에게 이 변수 (더 정확히 말하면 이 속성) 는 작업 흐름을 실행하는 다른 곳에서 다른 용도가 있다는 것을 알려 줍니다.아마도 그것은 심지어 공공 API의 일부분일 것이다.따라서 방법을 재구성하거나 재코딩하기 전에 방법을 편집하는 사람은 자동으로 경보를 터치하고 코드 라이브러리에서 이 속성이 나타나는 위치를 검색한다.만약 코드 관리자가 다른 곳에서 이 속성을 사용하는 곳을 찾지 못한다면, 그들은 약간 긴장할 것이다.여기서 무슨 일이 있었죠?
따라서 인코딩에 당신의 의도를 주의하고 표현하십시오.즉, 클래스 방법에서 변수를 정의했다면 그 변수의 범위가 이 방법을 초과하지 않았다면 사용하지 말라self..반대로 변수가 클래스의 사유 또는 공공 API의 실제 속성 부분이라면 self.을 사용하십시오.
class MegaClass:

    def method_1(self, arg1, arg2):
        """Write a docstring ;-)"""
        var1 = # some logic with arg1. `var1` dies after the method
        self.var2 = # some logic with var1 and arg2
        # self.var2 is an actual attribute of MegaClass part of its API.
이 예가 명확하길 바란다. 너는 그것으로 너의 인코딩 의도를 더욱 잘 표현할 수 있기를 바란다😄

좋은 웹페이지 즐겨찾기