Оффтоп _Программинг

Описание: Офф-топы, юмор, поздравления, радости и печали.

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#81 ADF » 15.05.2018, 21:24

Не в курсе. Не слежу, и если честно разницы не знаю. Один хрен для обратной совместимости оно потом чем-то типа babel отхерачивается, как ты и написал. Потому, что браузеров до сих пор ёбаный зоопарк - сколько бы новых стандартов не придумывали, всё одно надо поддерживать все предыдущие версии.

А ещё стоит внимательнее смотреть на TypeScript и всякие там Kotlin :drink:

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#82 Сергей » 15.05.2018, 21:45

А я вот таки как раз сижу и про TypeScript думаю - JS в смеси с шарпами. Думаю может с него начать. Как это ты мои мысли прочитал? Только вот убогое наследие JS в нём прослеживается. Вот в шарпах сидишь и над логикой, архитектурой думаешь, наслаждаешься шикарной IDE - а в JS разработке? Сегодня пол дня ноду с модулями ставил, да и вообще вспоминал как и чего, потом выяснял почему зависимости в кучу не собираются. Короче писец. Сижу вот и легкое отвращение от необходимости на JS что-то делать испытываю.
На счет котлина не знаю. TS был призван дополнить JS и от его недостатков некоторых избавится - ввести статистическую типизацию, классы и еще кой чего. А котлин что, лучше Java? Мне кажется и даром не нужен.
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#83 ADF » 15.05.2018, 22:54

Котлин - рекламирут шипко, но говорят в принципе не плох. Популярность набирает. Впрочем, typescript тоже рекламируют )))

Про ноду - я ангуляр ставил когда, там как-то так разом встаёт и нода заодно и модули нужные к ней. Чуть ли не в один клик.

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#84 Сергей » 16.05.2018, 00:08

Там где я практикуюсь все молодые как правило. Они всякие современные приблуды любят и сами на TypeScript вроде пишут в основном, и всякие современные фреймворки пользуют типа React/Redux.
Есть там такая тема, когда зависимости в package.json прописываются для какого-то модуля. Вроде и ставиться могут автоматом. У меня webpack для сборок используется, у него очень много модулей, как я понимаю ставятся только необходимые для функционирования автоматом. А мне некоторые другие нужны и их вручную ставить приходится.
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#85 ADF » 16.05.2018, 20:45

В порядке занудства. Новые технологии и языки - это хорошо, но для освоения самой сути программирования и для получения опыта - [чих, пых] не нужны.
Я за последний год - пощупал технологий и сред разработки больше, чем за всю свою предыдущую карьеру :biggrin: Но само программирвонье - везде одно и тоже, везде одни и теже базовые вещи, вокруг которых все вертится...

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#86 Сергей » 16.05.2018, 21:13

ДА это понятно в общем-то. Там речь скорее о направленности идет выбора языка. Коню понятно, что если они на вебе специализируются, то там JS в том или ином виде нужен. А там уж соответственно речь заходит о быстроте и удобстве разработки, как я понимаю. Оно конечно можно на нативном JS в блокноте все под чистую писать (и HTML с CSS там же заодно), а можно фреймворки пользовать и вебпаком собирать. Вебпак действительно быстро и удобно собирает, особенно если в целом проекты в основном типовые и все настроено уже и ты более или менее в нем рубишь.
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#87 ADF » 16.05.2018, 21:47

Да инструменты и фрэймвёрки по сравнению с самим умением программировать - осваиваются очень быстро.

А вот как код писать структурируемый, но в тоже время достаточно быстро и без глюков - на это годы практики нужны. Без опыта вечно в крайность кидает: или говнокод, который в какой-то момент становится невозможно поддерживать и развивать, или супер-мега архитектура, которая мучительно долго пилица, но ни разу как полноценная программа ещё не заработала... А чаще - то и другое вместе со срывом сроков, хехе :biggrin:

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#88 Сергей » 18.05.2018, 23:46

Почти дописал. Первые две кнопки даже работают.

Добавлено спустя 2 минуты 13 секунд:
И кстати в данном случае архитектура рулит и от дряни кое какой избавляет, которая у меня на шарпах в первой версии была, типа флагов и бесконечных проверок то на одно, то на другое.
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#89 Сергей » 24.05.2018, 13:57

Почему-то на JS поле бырее рендерится, хотя язык тоже не компилируемый.. :nea:
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#90 ADF » 24.05.2018, 20:50

Сергей писал(а):Почему-то на JS поле бырее ренде...

Тут не в языках дело, а в конкретных способах вывода графики.

Допустим, если у тебя на JS будет webGL, а на шарпах - таблица, как ты в первой версии сделал - то вопрос становится вообще абсурдным.

А если ты на шарпах инициализируешь окно с куском openGL и будешь в нём рисовать - то тут придётся очень серъёзно нарукожопить, чтобы получить какие-либо тормоза на этапе отрисовки.

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#91 Сергей » 25.05.2018, 00:12

На JS сейчас таблица пользуется с бэкграундной заливкой живых ячеек в зеленый, и на шарпах. При этом поле 100*100 на JS прилично быстро, для глаз не напряжно рисуется. При том, что таблица каждый раз удаляется и пересоздается новая. Видно хорошо они там это дело оптимизируют в браузерах.
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#92 ADF » 25.05.2018, 09:25

Сергей писал(а):Видно хорошо они там это дело оптимизируют в браузерах.

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

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#93 ADF » 01.06.2018, 22:50

Прошу простить если показывал уже:

Изображение

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#94 Сергей » 17.06.2018, 20:35

Алехандро, с тестированием JS кода не сталкивался?
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#95 ADF » 17.06.2018, 21:21

Поясни?
Речь о юнит-тестах или о чём?

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#96 Сергей » 17.06.2018, 22:10

Да, о них родимых. В целом как код тестить разобрался, проблема с тем как тестить обработчики событий (контроллер). Хотел пару тупых вопросов задать, если знаешь чего.
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#97 ADF » 17.06.2018, 22:32

Я тестами не занимался особо.

Там основная сложность - при тестировании каких-то объектов или функций, которым нужны сложные входные данные, которые зависят от других объектов и-или фукций. Надо обеспечивать им поддельные входные данные, чтобы можно было тестировать. В самих объектах для этого лучше сразу прописывать метод навроде initialiseDummy() который сам пустыми, но в пределах валидных диапазонов, данными объект инициализирует, удобно для последующего построения тестов.

И не забывать, что не надо стремиться покрыть тестами абсолютно всё. Считается, что (когда тесты вообще используются, проект может быть и без юнит-тестов...) достаточно примерно 75% кода тестами покрыть.

Хотя там дофига всего - лучше погуглить.

Добавлено спустя 8 минут 20 секунд:
Вот картинка нашлась с мыслями кой-какими.

Изображение

Как я понимаю - юнит тесты сами не должны фэйлиться - т.е. если фэйл, то это фэйл не функционала юнит-тестов, а фэйл того, что тестировалось. И должно быть сразу ясно, какой тест запоролся (допустим при запуске каждого теста - он сначала выводит в к онсоль, что собрался делать, а уже потом - делает).
Автоматизированность - так понимаю, просто некая функция навроде test(fn, input, output) - которая берёт переданую в неё функцию fn (которую надо протестить), запихивает в неё вводные данные и сравнивает с предоставленным заведомо верным output. Если нет - возвращает false или матерится в консоль.

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#98 Сергей » 17.06.2018, 22:59

Понятно. Там тест ранеры есть нынче вообще и все в пределах их синтаксиса пишется. Так-то я код процентов на 90 тестами покрыл (задача учебная покрыть на все 100). А вот контроллер тестить не совсем ясно как. Там по факту собранные в стопку обработчики событий, которые вызывают методы уже протестированного кода. Мне говорят, что надо вроде как шпионов (есть спец инструменты которые их организуют) навесить на вызываемые события и посмотреть, что именно нужные вызываются при тесте. Мне вот не понятно как навесить - это по идее надо в код приложения подмешивать код относящийся к тестированияю. Сейчас у меня это просто в стороннем приложении из готовых классов экземпляры создаются и тестирование проходит на стороне, одна логика с другой никак не путается. Ладно, короче, не знаешь не парься. Я думал вдруг в курсе.
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..

ADF
Автор темы, Старые
ADF
Автор темы, Старые
Репутация: 23
Сообщения: 4198

#99 ADF » 17.06.2018, 23:02

Не совсем понимаю, о чем речь, но таки да - очень может быть, что надо в рабочий код программы подмешивать код, относящийся к тестированию. Хотя-бы банально - логгирование с управляемым выводом в консоль.

Сергей
Старые (Администрация)
Аватара
Сергей
Старые (Администрация)
Репутация: 25
Сообщения: 4782

#100 Сергей » 17.06.2018, 23:13

Контроллер это который "C" из MVC паттерна. Как-то не правильно одну логику в другую мешать. Как же все эти принципы ООП? И потом разработка по хорошему по кругу постоянному идет через тестирование. А если там левак какой-то подмешан будет, а тебе положим код весь переписать надо будет? Вот как у меня сейчас реализовано - там внутри методов хоть что пиши, интерфейсы входа и выхода будут одними и теми же, а значит и тесты проходится будут всегда. При этом тест - это пришлепка, которую оторвал и выкинул без последствий, оно никак с кодом не мешается.. Ладно не парься, говорю же. Не знаешь, значит и не надо.
Вот кстати тест как выглядит, если интересно.
Все вышеописанное является моим мнением и моим оценочным суждением, и не претендует быть истиной в последней инстанции. ..Nihil est ab omni parte beatum..


Вернуться в «Обо всём»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость