Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   This или не this? (http://www.flasher.ru/forum/showthread.php?t=155357)

Lyso 03.05.2011 15:23

This или не this?
 
Использовать ли this в свои проектах. В одних источниках я читал, что это загружает код, в других - что делает его быстрее, так как идет прямое обращение. Стоит ли его использовать постоянно? При обращении к переменным и функциям и вообще всегда?

КорДум 03.05.2011 15:26

Это исключительно определяется вашим стилем написания кода и ни на какую скорость не влияет. Естественно, я не говорю про такие моменты, когда this на самом деле необходим:
Код AS3:

private var someVar:int;
private function _someFoo(someVar:int):void {
    this.someVar = someVar;
}

И пожалуйста, я обращаюсь ко всем, давайте не будем снова разводить этот холивар? Уже были подобные темы.

Lyso 03.05.2011 15:29

Я написал, что при постоянном использовании, а не при необходимом.
Ну ладно, если скорость точно не зависит от this, но не буду его использовать.

honest_man 03.05.2011 16:01

Мне не довелось поучаствовать в предыдущей дискуссии про this, чем я очень недоволен. =\ Но тем не менее для себя считаю этот вопрос давно закрытым. Ставить зисы не в напряг! =)

КорДум 03.05.2011 16:09

Началось... (:

etc 03.05.2011 16:15

Ставил, ставлю и буду ставить!

Zebestov 03.05.2011 16:28

Отвык и счастлив!

dimarik 03.05.2011 16:30

Ставлю всегда.

КорДум 03.05.2011 16:33

Ставлю по надобности, что уж.

mikhailk 03.05.2011 16:44

Тоже ставлю по необходимости.

Офф: еще можно поспорить, где открывающую фигурную скобку ставить. :D

GBee 03.05.2011 17:03

this по необходимости, а скобка с новой строки ;о)

etc 03.05.2011 17:04

Цитата:

Сообщение от GBee (Сообщение 993553)
this по необходимости, а скобка с новой строки ;о)

Тебя в песочницу не возьму.

GBee 03.05.2011 17:11

В одной фирме один испанец очень нервничал на тему скобок, вместо того, чтобы один раз договориться, все время проходился по моему коду какой-то тулзой, превращая скобки в египетские.

Jewelz 03.05.2011 17:12

горячий испанский парень

goodguy 03.05.2011 17:22

Мне вообще по барабану, есть настроение - ставлю, нет - не ставлю :D

Но в основном ставлю.

п.с. А бывают случаи, когда использование this обязательно. Точнее, я знаю только один случай - когда в в качестве параметров конструктора передаются переменные, имена которых точно соответствуют именам аналогичных переменных в классе. Хотя и этого можно избегать

Котяра 03.05.2011 17:41

Считаю this лишним шумом. Стараюсь не использовать.
Но тоже зависит от контекста. Если в методе много локальных переменных и нужно указать, что используется именно свойство класса - можно и с this.
Но отношусь к этому без фанатизма. Хотят ставить - пусть ставят.

Dukobpa3 03.05.2011 17:49

Если структура классов глубокая и много чего от чего наследуется ставлю для удобства восприятия. Чтобы не забывать - я эту хрень унаследовал или же это родная штука из этого класса в котором пишу. (ставлю только this, суперами не фанатею :) )

Zebestov 03.05.2011 17:50

Так уж сложилось, что у меня львиная доля полей класса приватные и, соответственно, начинаются с символа "_". Зачем мне без необходимости тулить этот this? Он утомляет как при написании кода, так и по прочтении (спецом открыл старый проект полюбоваться).

Dukobpa3 03.05.2011 17:54

ну у меня примерно так:

- с подчеркивания начинаются те переменные которые имеют геттеры/сеттеры - их я напрямую стараюсь не юзать. Использую через геттеры/сеттеры
- те которые просто приватные ни с чего не начинаются и их стараюсь юзать с зисами
- геттеры/сеттеры соответственно тоже ни с чего не начинаются, их использую наравне с приватными без подчеркивания.

in4core 03.05.2011 18:00

Цитата:

- с подчеркивания начинаются те переменные которые имеют геттеры/сеттеры
А надо
Цитата:

- те которые просто приватные
Пишите грамотно ))

Dukobpa3 03.05.2011 18:06

надо, не надо... проследуйте пожалуйста в Coding Conventions Adobe

И холивару конец ;)

in4core 03.05.2011 18:07

))))))) бросай ты CCA ))

Dukobpa3 03.05.2011 18:09

Код AS3:

var a:Array /* of String */ = [];

- вот кстати из конвенций. Штука удобная,
но можно лучше:
Код AS3:

var a:/*String*/Array  = [];

- если так, то в подсказках показывается комментарий.
Но это мешает если надо закомментить блок кода ;)

Вывод - для каждой задачи свое решение:) В том числе и по оформлению:)

mikhailk 03.05.2011 18:17

Цитата:

Но это мешает если надо закомментить блок кода
имхо, удобнее так:
Код AS3:

var a:Array  = new Array(); // of String

и комментить не мешает

Dukobpa3 03.05.2011 18:19

Не, суть не в том... И твой вариант, mikhailk, и адобовский - это просто каммент, а то что предложил я - это крутая весчь которая в асдоках видна. В ФД по контрал-пробелу в описании отображается.

Добавлено через 1 минуту
Ну собственон не я предожил)) Подглядел в одном фреймворке:)

carrotoff 03.05.2011 18:27

ставлю

toFL 03.05.2011 18:37

Ставлю только если в конструктор приходят имена, которые уже есть:
Код AS3:

this.id = id;


i.o. 03.05.2011 18:52

Цитата:

это крутая весчь которая в асдоках видна
Давно ли обычные комменты попадают в asdoc'и? О_о
Может имелось ввиду две звезды вначале?

Dukobpa3 03.05.2011 19:01

Вложений: 1
arrrgh...

Вложение 26512

Dukobpa3 03.05.2011 19:02

хм..... Это я гоню, оказывается... Обычные каменты тоже в подсказках вылазят:)

i.o. 03.05.2011 19:27

это не обычные комменты, а фича FD

Добавлено через 3 минуты
На данный момент, это работает только с массивами и при наследовании от Proxy

Dukobpa3 03.05.2011 19:31

Вот оно че, оказывается)) Ок, буду знать, спасибо)

i.o. 03.05.2011 19:34

тогда вам сюда - http://www.flashdevelop.org/wikidocs...res:Completion

etc 03.05.2011 19:44

Цитата:

Сообщение от Dukobpa3 (Сообщение 993578)
надо, не надо... проследуйте пожалуйста в Coding Conventions Adobe

И холивару конец ;)

Это Flex SDK CC.

И да, я за такой код, любая строчка которого отдельно от него самого не допускает разночтений.

i.o. 03.05.2011 20:23

Цитата:

И да, я за такой код, любая строчка которого отдельно от него самого не допускает разночтений.
хм, а как же тогда:
Цитата:

Statements
-----------------
Start each statement on a new line, so that you can set a breakpoint on any statement.

Do this:
Код:

function f():void
{
    var n:int = numChildren;
    for (var i:int = 0; i < n; i++)
    {
        if ()
        {
            x = horizontalGap * i;
            y = verticalGap * i;
        }
    }
}

Not this:
Код:

function f():void {
    var n:int = numChildren;
    for (var i:int = 0; i < n; i++) {
        if () {
            x = horizontalGap * i;
            y = verticalGap * i;
        }
    }
}



GBee 03.05.2011 20:39

Цитата:

хм, а как же тогда:
:bb: :umnik2:

КорДум 03.05.2011 20:42

А еще пишите все в одну строчку. А еще лучше в кадре. В нескольких.
Пора темку перетаскивать во флейм ;)

Dukobpa3 03.05.2011 20:45

Угу, добавить в меню ФД "Refactor" - пунктик "ignoreWhitespace" И будет всё отлично)

HardCoder 03.05.2011 20:48

Работаю во flash cs5. Пишу всегда this, потом ставлю точку и во всплывающей подсказке все методы, свойства и классы, которые доступны к этому моему this. Потом ввод - и на одну секунду цыкания по клавиатуре меньше. Секунда к секунде - нервы бережет! Это так для тех кто работает во флеше...

КорДум 03.05.2011 20:53

Цитата:

Работаю во flash cs5.
Сочувствую ;)


Часовой пояс GMT +4, время: 17:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.