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

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

Исходный маркер

SourceMarker — это подключаемый модуль IDE с непрерывной обратной связью с открытым исходным кодом, созданный поверх Apache SkyWalking, популярной системы APM с открытым исходным кодом с возможностями мониторинга, отслеживания и диагностики для распределенных программных систем. SkyWalking, действительно целостная система, предоставляет средства для автоматического создания, хранения и запроса показателей работы программного обеспечения. Для его реализации практически не требуется изменений кода, и он достаточно легкий, чтобы его можно было использовать в производстве. Сама по себе SkyWalking является огромной силой в области технологий непрерывного мониторинга.

SourceMarker, используя функциональность непрерывного мониторинга, предоставляемую SkyWalking, создает технологию непрерывной обратной связи, автоматически связывая показатели работы программного обеспечения с исходным кодом и отображая обратную связь непосредственно внутри IDE. Хотя в настоящее время SourceMarker поддерживает только IDE на основе JetBrains и языки программирования на основе JVM, он может быть расширен для поддержки любого количества языков программирования и IDE.

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

логирование

Преимущества технологии непрерывной обратной связи сразу становятся очевидными благодаря возможности просмотра и поиска в журналах непосредственно из исходного кода. Вместо того, чтобы отслеживать файлы журналов или просматривать журналы через браузер, SourceMarker позволяет разработчикам программного обеспечения перемещаться по производственным журналам так же легко, как и по исходному коду. Используя исходный код в качестве основной перспективы для навигации по журналам, SourceMarker позволяет разработчикам программного обеспечения просматривать журналы, относящиеся к любому пакету, классу, методу или строке, непосредственно из контекста исходного кода, который привел к этим журналам.

Отслеживание

Кроме того, технология непрерывной обратной связи предлагает разработчикам программного обеспечения более глубокое понимание программного обеспечения, явно связывая неявные операции программного обеспечения с исходным кодом. Вместо того, чтобы визуализировать трассировки программного обеспечения в виде диаграмм Ганта, SourceMarker позволяет разработчикам программного обеспечения пошагово просматривать стеки трассировок, автоматически разрешая теги трассировки и журналы. С помощью SourceMarker разработчики программного обеспечения могут перемещаться по трассировкам производственного программного обеспечения почти так же, как отлаживают локальные приложения.

Оповещение

Что наиболее важно, технология непрерывной обратной связи позволяет разработчикам программного обеспечения быть в курсе работы производственного программного обеспечения. Вооружившись интегрированной средой разработки на основе APM, каждый разработчик программного обеспечения может отслеживать поведение любого метода, класса, пакета и даже самого приложения в целом. Более того, это позволяет исходному коду быть средством, с помощью которого становятся очевидными производственные ошибки, тем самым создавая возможность исходного кода с возможностью самодиагностики и передачи собственной работоспособности.

Скачать исходный маркер

SourceMarker стремится объединить теоретические и эмпирические методы разработки программного обеспечения посредством постоянной обратной связи. Цель состоит в том, чтобы сделать разработку программного обеспечения с использованием эмпирических данных естественной и интуитивно понятной, создавая более полных разработчиков программного обеспечения, которые понимают весь цикл разработки программного обеспечения.

Этот проект все еще находится на ранней стадии разработки, поэтому, если вы думаете о каких-либо способах улучшения SourceMarker, сообщите нам об этом.

-Исходный код: https://github.com/sourceplusplus/sourcemarker
-Питч: https://www.producthunt.com/posts/sourcemarker