All streams
Search
Write a publication
Pull to refresh
28
0
Ivan Dembicki @iviv

Dart, Flutter, Adobe Flash Developer

Send message
«уже можно» и «уже есть» — сильно разные вещи.

Tankionline уже можно было сделать и в 5 Flash, то есть почти 10 лет назад. 3D движки уже тогда были. И что? Прошло много лет, сам язык изменился, появилось множетсво новых возможностей, решились вопросы производительности и только после этого появилась игра.

Неужели кто-то думает, то на JS можно написать реально сложный проект? Без типизации, без нормальных классов и т.д.

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

Короче, подымите этот топик лет через 10, когда действительно появится игра такого уровня на HTML5.
Точнее уже это будет примерно HTML7 :)
Хм… Если ты имеешь ввиду, что наборчик из «html5 + WebGL + Canvas + WebSockets + быстрые движки JS в браузерах» сможет конкурировать с Flash играми, то просто ответь, когда именно на этом наборе можно будет сделать игру уровня tankionline.com

Есть у меня подозрение, что люди столько не живут.
Вас обманули:

1. flash.events.HTTPStatusEvent
2. com.adobe.serialization.json.JSON
Ну, я бы не стал противопоставлять джавадоки тестам. Они прекрасно друг друга могут дополнять и выполняют в основном разную роль.
Та область пересечения, о которой речь, слишком незначительна, чтобы одним заменить другое.
Я говорю не о конкретном примере кода и ставлю под сомнение именно саму идею попыток сделать код читабельнее с помошью тестов. Не для этого они и в этом смысле свою роль не выполняют.
Вот тут вы и попались, сэр :)

Никто не отрицает полезность тестов. Но эта статья ведь о целительной силе тестов в деле читабельности кода: я потратил силы, чтобы в нём разобраться и в конце теперь карма вашего кода немного очистилась. И именно это утверждение опровергаю.
Не справляются.

1. В JavaDoc не место описанию деталей реализации кода. Надеюсь ты тут согласен.

2. Тесты неочевидны и относятся ко всему методу, а он может быть большим и содержать серию трюков.
Плюс не факт, что код проходит тест — пока не запустишь не узнаешь.

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

Тесты не панацея. Они не предназначены для объяснения деталей реализации методов. И не надо им приписывать несуществующие свойства.
и добавлю, что использование тестов для решения обозначенной в статье проблемы — это использование молотка для закручивания шурупов.
потому, что комментарий должен объяснять неочевидную часть, а не логику целиком:

// Поскольку речь идёт о целых числах, то при делении на 100 результат округляется, а при повторном умножении на сто получается меньшее число. Например, из 666 получается (666/100) * 100 = 6*100 = 600. То есть значение округляется до ближайшей сотни.
return getMaxAmount() + 100 ) / 100 * 100;

Впрочем, это если мы вынуждены использовать именно этот код, например по причинам производительности.

По-хорошему, нужно переписать именно код. Например, заменить цифры на говорящие константы, создать метод округления до заданного порядка и т.п.
В приведенном в статье коде, ни тесты, ни JavaDoc к методу, не могут и/или не вправе объяснять РЕАЛИЗАЦИЮ метода (а именно на нее ты ругнулся).

Внешним пользователям кода не нужно знать потроха метода. Им достаточно знать что он делает.

Если в самом методе применен неочевидный ход, то именно этот ход и нужно прокомментировать тут-же, рядом со строкой с кодом.
Дегтя у нас хватает — мы всё-таки бета еще. Первая бета.
Но будем очень благодарны, если ты опишешь симптоматику и подробности в баг-репорте.
Заранее благодарен.
Может ты удивишься, но наша заветная мечта сделать продукт такого качества и простоты, что на нем можно было бы обучать программированию детей.
Это очень сложно, но в наших планах это имеется.
Да, ты прав, учтем.
Спасибо.
кроссплатформенный
Не получается. При попытке вставить ссылку или текст, парсер умный — думает, что в названии языка Actionscript слово script должно быть написано с маленькой буквы. Соответственно, вики не понимает такую ссылку.
Я не знал этой удивительной особенности парсера, извините.
а так?

— вроде не работает из-за того, что почему-то слово Actionscript оказалось написано как Actionscript.
дорогу осилит идущий :)
Если кратко, то есть в Википедии: ru.wikipedia.org/wiki/Realaxy_Actionscript_Editor
Но лучше всё-таки дождаться второго урока.
Лучшее и единственно правильное действие, если вы не согласны с политикой Лукашенко — проголосовать ногами. И сделать это быстро, пока еще возможно.

Если вам не нравится его политика, значит не для вас он государство строит и делать вам там нечего. А он пусть остается с теми, для кого он строит это государство.
Обрати внимание, что я не противопоставляю Джобса Гейтсу или Брину и не раздаю им роли на шахматной доске.

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

Сегодня политика Джобса — политика монополиста. Он запросто отказывает миллионам своих леммингов в том, чтобы они могли нормально жить в интернет — без Flash в интернет недоступна масса привычных вещей.
Всё бы так и продолжалось, оставайся Apple монополистом.

Но на рынке уже есть девайсы, ну никак не хуже, чем у Apple. И вопрос миграции этих миллионов леммигов — лишь вопрос времени. Я, как один из этих миллионов, уже точно знаю, что следующим телефоном у меня будет не iPhone. Такие единицы как я складываются в статистику. В статистику не в пользу Джобса.

А всё потому, что он выскочил вверх на волне успеха и не в первый раз в своей жизни оторвался от реальности. От пользователей. Он в который раз перепутал. Не пользователи для него, а он для пользователей. А пользователи такие закидоны очень тонко чуют.

Так вот, Microsoft, Apple, Google и прочие существуют и зарабатывают деньги только тогда, когда четко понимают потребности пользователей, и удовлетворяют их исходя из сегодняшних возможностей.
И если кто-нибудь из них что-то может сделать для пользователей, но сознательно не делает, то, во-первых, пользователям это не нравится, а во-вторых это делает кто-то другой и неплохо зарабатывает на этом, потому, что пользователи идут к нему.

Вроде очевидности тут пишу, впрочем, это совсем не очевидности для тех, кто за успехом Apple не видит ближайших последствий их сегодняшних решений.

Information

Rating
Does not participate
Location
Maple Ridge, British Columbia, Канада
Date of birth
Registered
Activity