начальника, коллег или других специалистов. Все представленные в докладе сведения, примеры, выводы и другую информацию вы можете использовать на свой страх и риск. За все ваши действия ответственность несёте только вы сами. В докладе будет код! 3 Минздрав предупреждает
нужно включить/прописать • Хранение экспериментов • Разные нотации обозначения настроек • Отдельный тип задач в Jira • Запуск экспериментов • руками через UI • комментарий в Jira • сообщение в ТамТам 44 Проблемы
эксперимент • Забыли написать комментарий? • Тяжело возвращаться после некоторого времени • Это как возвращаться к давно написанному коду 58 Проблемы #2
git-е как код • Автоматизированный накат/откат настроек • Запускаем через CLI • Используем API системы хранения конфигурации • Автоматизация сопутствующих действий • Постим комментарии в Jira, TamTam 62 Чего бы хотелось?
не знаю питон :) • Обобщённый DSL это хорошо для решения общих задач • частное решение позволяет писать компактнее и выразительнее 86 Проблемы прототипа
не знаю питон :) • Обобщённый DSL это хорошо для решения общих задач • частное решение позволяет писать компактнее и выразительнее • Не Java • просто так не воспользоваться готовыми библиотеками • мы любим Java! 87 Проблемы прототипа
• Но мы хотим: • в идеале писать скрипты и их обработку на одном языке • иметь статическую типизацию, • проверки на этапе компиляции • близкую к идеальной поддержку в IDE 105 А что вообще есть то?
class Element { val children = arrayListOf<Element>() fun <T : Element> make(element: T, init: T.() -> Unit): T { element.init() children.add(element) return element } }
Element { val children = arrayListOf<Element>() fun <T : Element> make(element: T, init: T.() -> Unit): T { element.init() children.add(element) return element } }
{ val children = arrayListOf<Element>() fun <T : Element> make(element: T, init: T.() -> Unit): T { element.init() children.add(element) return element } }
все зависимости проекта • Gradle не умеет (по крайней мере из коробки) • IDEA не умеет* 149 Kotlin Script. CMD kotlinc -script <script_name> -classpath <>
кроме как console) • Непонятно как подебажить скрипт, если очень нужно • Сложно переиспользовать описание эксперимента • для обновления описания задачи в Jira 159 Проблемы Kotlin Script
потому что знаем предметную область • компиляция, code completion • Автоматизированный запуск • проверка корректности • уменьшение количества рутинных действий 197 Итоги
потому что знаем предметную область • компиляция, code completion • Автоматизированный запуск • проверка корректности • уменьшение количества рутинных действий • Удовольствие от программирования ;) 198 Итоги
и основные принципы • Нужно поддерживать всё самим • постоянные доработки • баги • Парадокс синтаксического сахара • баланс между компактностью и сложностью освоения 201 Trade-Offs
и основные принципы • Нужно поддерживать всё самим • постоянные доработки • баги • Парадокс синтаксического сахара • баланс между компактностью и сложностью освоения • Инструменты не идеальны • а так хотелось 202 Trade-Offs