Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Спор по поводу типизации, традиций и всего подобного (http://www.flasher.ru/forum/showthread.php?t=139965)

wvxvw 16.05.2010 14:03

Спор по поводу типизации, традиций и всего подобного
 
Жуть какая... :) Прям 1C :) Ну, кроме всего прочего - return - это не функция, не нужны там скобки, а вот функциям нужны возвращаемые типы.

YarikMudry 16.05.2010 16:24

Ну что касается ретурна, привык я так. А функциям не обязательно ставить подпись возвращаемого типа. Это кому как больше нравится. В конкретно этой функции и так понятно что возвращается строка. Вида "Каталог(Каталог()Каталог(Каталог()))" В общем древовидная структура имеющая корневым каталогом экранныхобъект заданный в параметрах. http://vkontakte.ru/app1865199_46242160
Вот собственно ещё сырой пример работающий только со спрайтами. Вначале создаётся 100 вложенных случайным образом спрайтов, затем верхний из них отдаётся на растерзание вышеуказанной функции и из этого безобразия составляется деревце. Когда разберусь с типами можно будет составлять иерархию экранных объектов для реальных приложений... Про выход за пределы экрана не говорите, потом поставлю скрол рэкт и 2 скрол бара... Сейчас не до этого.

Похоже мне нужны просто getQualifiedClassName () и getQualifiedSuperclassName(). Сейчас буду эксперементировать...

Psycho Tiger 16.05.2010 16:31

Цитата:

А функциям не обязательно ставить подпись возвращаемого типа. Это кому как больше нравится.
А ещё можно трусы на голове носить. Нормальные компиляторы это не скомпилируют.

YarikMudry 16.05.2010 16:50

Сколько криков слышал по поводу того как ПРАВИЛЬНО давать идентификаторы, как ПРАВИЛЬНО писать то-то и то-то. Компилятор компилирует это необходимо и достаточно, остальное вопрос стиля и привычки. Кто-то делает отступы, кто-то нет, кто-то пишет "{" в той же строчке что и объявление функции, кто-то на следующей. Обсуждать такие мелочи это обычный холивар)))

HotIceCream 16.05.2010 17:09

Цитата:

Сообщение от YarikMudry (Сообщение 908532)
Сколько криков слышал по поводу того как ПРАВИЛЬНО давать идентификаторы, как ПРАВИЛЬНО писать то-то и то-то. Компилятор компилирует это необходимо и достаточно, остальное вопрос стиля и привычки. Кто-то делает отступы, кто-то нет, кто-то пишет "{" в той же строчке что и объявление функции, кто-то на следующей. Обсуждать такие мелочи это обычный холивар)))

ты не прав. в as можно указывать тип переменных :* при этом если нужно он станет к примеру Number, компилироваться будет нормально, но при этом скорость работы будет намного больше, если прописать явно тип. Тоже самое и с функциями. И тут стиль и привычка совсем не причем.

ps в flash develop без указания типа функции ты не скомпилируешь.

YarikMudry 16.05.2010 17:21

Беру свои слова обратно. Но частично. По поводу быстродействия согласен, но ИМХО, это уже стоит делать когда всё готово, когда нужно просто вылизать код. Туда же точную расстановку идентификаторов доступа и т.п. Можно конечно сразу, а можно как-нибудь в другой раз. В cs3 всё нормально компилится, потому и говорю что без разницы. Тем более когда я код без особых раздумий создаю, сейчас у меня эта функция возвращает стринг, потом что-то ещё, потом может вообще решу что не нужно ничего возвращать... И если я буду расставлять каждой функции тип возвращаемого значения а потом забывать про него, то это ошибка и потерянное время ибо комп очень медленно у меня компилирует.

КорДум 16.05.2010 17:32

Да правильно. Зачем тогда вообще все функции выносить отдельно. Нужно все лепить в одно место! Все в одном классе, прям в конструкторе. Зачем проводить кастомизацию? Без типизации, вообще - зачем? - компилятор сам догадается!
А как же традиции? Встретил я как-то очень хорошую фразу, что плохие программисты выходят чаще всего из тех, кто не чтит традиции.

HotIceCream 16.05.2010 17:44

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

YarikMudry 16.05.2010 18:00

Срач по поводу типизации, традиций и всего подобного
 
Цитата:

Да правильно. Зачем тогда вообще все функции выносить отдельно. Нужно все лепить в одно место! Все в одном классе, прям в конструкторе. Зачем проводить кастомизацию? Без типизации, вообще - зачем? - компилятор сам догадается!
А как же традиции? Встретил я как-то очень хорошую фразу, что плохие программисты выходят чаще всего из тех, кто не чтит традиции.
Про лепить в одно место речи не было. Традиции как таковые не нужны особенно глупейшая из них первую программу на каком либо языке писать с функциональностью вывода на экран строки "Hello world".
Традиция это бездумное необоснованное повторение чего либо. Ежели есть смысл делать так, а не иначе, то это уже целесообразность)))
Во время проектирования как я уже говорил необходимо и достаточно чтобы компилятор не ругался и работал как надо. Остальное не так уж и важно. Это уже потом можно вылизывать код расставляя доступ к функциям, классам, раскидывать по пакетам, проводить типизацию...
Всё оно желательно, но не обязательно по крайней мере в черновом варианте. Зачастую как раз наоборот мешает, отвлекает, является источником лишних ошибок...

Psycho Tiger 16.05.2010 18:13

Пристрелите меня.


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

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