Яваскриптщики — как вы работаете со сторонним кодом?
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
Хотя я выполнил свое обещание «если JS — язык будущего, то я в будущем стану баристой» и научился неплохо варить espresso, все же все больше и больше чувствую, что надо и в этой области овладеть рабочим навыком. Основная задача — создание интерактивных визуализаций с помощью, предположительно, D3.js — ибо проще самому сделать, чем объяснить задачу фронтэнд деву, не владеющему и основами описательной статистики.
Пожалуй, наиболее быстрым путем было бы взять уже готовое решение, и методом reverse engineering посмотреть как оно там работает; при необходимости доработать напильником.
(Если что — это не обязательно пиратство — в Сети полно и freeware проектов). Соственно, так я и осваивал в свое время HTML и PHP.
Во многом так же разбирался с QuantLib — C++ библиотекой финансовой математики. Она — огромна и сложна, но для начала запускаешь doxygen — и уже получаешь некое общее представление о классах и их взаимоотношениях. Потом проходишь дебаггером многочисленные testcases и понимаешь, что к чему.
Но как это применить к тому же D3.js?! Во-первых, читая код совершенно не поймешь, что за переменная на входе — тип-то не указан (знаю, что для многих проектов, в т.ч. и для D3, пишутся TypeScript спецификации, но что ж это, сначала TypeScript изучить)?
Во-вторых, как дебажить? — отводя мышку от окна графика в окно дебаггера хрома или файерфокса ты порождаешь событие — т.е. поведение программы меняется от попытки ее дебажить. Как это грамотно учитывать?
Да, интересует опыт работы не только (и даже не сколько) с D3 и подобными библиотеками, сколько именно опыт reverse engineering’а чужого js-кода.
50 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів