문제

"이"범위는 AS3에 대한 모범 사례/코딩 표준은 무엇입니까? 하나있어? 나는 그것이 표준화에 실제로 도움이된다고 생각합니다 나의 가독성이지만 때로는 "너무 많은 것"처럼 보입니다.

예를 들어, 다음과 같은 다음에 "this"를 사용하는 것입니다 ( "this"없이 작동한다는 것을 알고 있습니까?) :

private var _item:Object;

private var selectedItem:Object;

public function set item(value:Object):void
{
    this._item = value;

    if (this._item["label"] == "doodad")
        this.selectedItem = value;
}

public function set item(value:Object):void
{
    return this._item;
}
도움이 되었습니까?

해결책

로컬 스코핑 변수 (예 : 메소드 매개 변수)와 인스턴스 변수 간의 명명 충돌을 방지하지 않는 한 "이"는 필요하지 않습니다.

당신의 예에서 당신은 이미 밑줄을 사용하여 개인 변수를 표시하고 있으므로 실제로 두 배나 같은 말을하기 때문에 "이것"을 사용하지 않는 것이 추가적인 이유입니다.

다른 팁

확실히 필요하지는 않지만 가독성에 도움이 될 수 있다는 데 동의합니다. 더 역동적 인 언어 (예 : Perl 및 Python)에서 더 많이 일하기 때문에 이러한 규칙은 변수 및 기능이 범위/위치 위치를 빠르게 결정하는 데 필수적 일 수 있습니다. 이 협약이 당신을 위해 작동한다면, 나는 그것이 나쁜 것이라고 생각하지 않습니다.

따라서, 나는 가독성을 방해하는 어색한 규칙을 포함하는 코드를 재구성하는 데 몇 시간을 보냈습니다.

예를 들어 : 내가 함께 일한 한 사람은 다음과 같은 모든 과제를 썼습니다.

var foo:String= "bar";

이것은 짜증이 났고 (나는 "="를 선호하므로 운영자를 명확하게 볼 수 있습니다), 나는 유지해야 할 수천 줄의 코드를 정리하는 데 많은 시간을 보냈습니다. 그의 협약 (우리가 여러 번 논쟁했지만 타협을 거부 한)은 내 일을 방해하는 경향이있었습니다.

당신과 함께 일하는 다른 사람들과 연합을 위해 노력하십시오. 그들이 당신의 코드를 지원 하고이 악화를 찾아야한다면, 그것을 남겨 두는 것이 가치가 없을 것입니다. 어떤 사람이 소스와 직접 일할 것을 기대하지 않는다면, 코드를 이해하고 문서 (어딘가)를 사용하는 데 도움이되는 규칙을 사용하십시오. 그들은 의미합니다.

팀에서 일하고 있다면 팀의 코딩 컨벤션을 고수하십시오.

그러나 개인적으로, 나는 명확한 명확성이 필요하지 않을 때 "이것"을 명시 적으로 사용하는 것을 발견하고, AS3와 같은 정적으로 입력 된 언어의 가독성에 부정적인 영향을 미치는 과잉 (동적 언어는 또 다른 이야기입니다!).

수업에는 실제로 하나의 책임이 있어야하므로 일반적으로 속성이 너무 많아서는 안됩니다. 메소드 내에서는 일반적으로 세 가지 유형의 변수, 즉 임시 로컬 변수, 메소드 매개 변수 및 속성을 처리합니다. 방법이 너무 길어서는 안되므로 세 가지 유형의 차이를 쉽게 찾을 수 있어야합니다. 로컬로 정의되지 않고 매개 변수로 전달되지 않은 경우 속성입니다. 전체 메소드가 화면에 맞지 않으면 아마 너무 길어질 것입니다!

나는 속성과 동일한 이름의 매개 변수 사이를 명확하게해야 할 때만 "this"만 사용합니다.

나는 "이것"을 너무 많이 사용하는 것을 선호하지만 때로는자가 완성을 얻기 위해 일식으로하는 것을 선호합니다 (아마도 최악의 이유 일 것입니다!)

예제가 다음과 같이 더 적합 할 것입니다.

public function set item(_item:Object):void
{
    this._item = _item;

    if (this._item["label"] == "doodad")
        this.selectedItem = this._item;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top