Re[11]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 11:35
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>Засада в том, что у разных людей это "все" может очень сильно различаться.


PC_>Ну тебе не важно.


Важно. Потому что не одним дебаггером ограничиваются инструменты.

PC_>У тебя есть отчет, отчет содержит всю дебаг информацию и ты можешь дебажить.

PC_>Причем дебагер у тебя на порядок мощнее обычного. Например ты в нем можешь ходить не только вперед,
PC_>но и назад, можешь искать значения переменных которые однажды проскочили в какойто переменной и переходить в эту точку и тд.

То есть фактически твой отладчик лишь красивая обертка над анализатором логов?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 11:37
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>>>Как происходит этот сбор данных?


Допустим ты тестер. Сидишь клацаешь по приложению.
Вдруг заметил что если открыть одно окно, ввести там какие некорректные данные
и нажать кнопочку сохранить происходит ошибка. Кликаешь кнопку, записать отчет.
В этот момент фреймворк начинает записывать каждую вызванную функцию, значение каждой переменной, логировать
запросы к базе данных и кучу другой информации в специальный документ. Потом нажимаешь кнопочку сохранить.
Сохраняешь и отправляешь разработчику. У разработчика установлена эта студия и открывая файл этот отчет загружается
в эмулятор. Эмулятор начинает пошагово отлаживать приложение. Ты можешь расставить точки останова, просмотреть информацию
из профайлеров и т.д. и разобраться в чем баг.

AV>Кок он будет ее собирать? Как он будет знать какую информацию надо собирать?


Собирает всю доступную информацию в приложении с указаного момента.
Некоторые отчеты могут иметь размер до 500 мб и содержать сотни тысяч шагов.
Но чаще всего отчет занимает несколько мегабайт в несжатом виде.

PC_>>управлять приложением в том числе удаленно.

AV>Я и сейчас спокойно удаленно могу дебажить.

я знаю.

AV>Шо, еще и эмулятор надо создавать? А этот эмулятор что будет эмулировать?


Нет, эмулятор встроен в студию.
Я просто уже рассказываю как эта вся кухня работает под капотом.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[12]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 11:40
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>То есть фактически твой отладчик лишь красивая обертка над анализатором логов?


Отчасти ты прав,
в статье есть развернутый ответ на твой вопрос

Поэтому каждый раз, когда мне приходилось настраивать базу данных, настраивать права, заходить под определенным пользователем, повторять определенную последовательность действий в интерфейсе, я думал, а что если бы работа программы довольно подробно логировалась. Тогда мне не нужно было повторно настраивать среду выполнения, а работа по исправлению ошибок свелась бы к изучению лога. Но этот подход имел существенные недостатки:
Во-первых, добавление кода, который логирует работу программы, тоже объем работы, который нужно еще выполнить.
Во-вторых, код основной программы засорялся бы отладочными блоками кода. Любой отладочный код ухудшает зрительное восприятие основного кода.
В-третьих, не всегда можно угадать какую именно информацию нужно действительно логировать. Возможно, будет логировано то, что не поможет для локализации ошибки.
В-четвертых, информация в логах не представлена в удобном для восприятия виде.
Учитывая эти недостатки, решение о логировании определенных частей рабочего кода принималось только в исключительных случаях. Во всех остальных случаях приходилось повторять процесс настройки и повторения действий, который уже был выполнен однажды тестером. Выходит повторная работа.
Поэтому изначальная идея Research Studio .NET была довольно простой и сводилась лишь к тому чтобы избежать недостатков выше.
Во-первых, добавление логирующего кода, должно было быть полностью автоматизировано и скрыто за обычным процессом компиляции.
Во-вторых, отладочный код должен был быть невидим. Программист только видит основной рабочий код.
В-третьих, логироваться должно абсолютно все.
В-четвертых, информация в логах должна быть представлена максимально интуитивно понятно для программиста. В конечном итоге было решено, используя полную информацию из логов, эмулировать работу приложения и его отладку.

"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[13]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 11:46
Оценка:
Здравствуйте, PC_2, Вы писали:

Кстате вот есть занимательное видео.
Демонстрация одной из фич нового фремворка и новых принципов отладки в отечественой студии —
сквозной дебаг.

Когда в дебаге мы приходим в какое-нибудь ExecuteNonQuery, смело нажимаем F11 (войти внутрь) и продолжаем дебаг
сторед процедуры в базе данных. Тоесть опять же студия делает все чтобы сделать цельную картину отладки приложения
включая уровень базы данных.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[13]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 12:26
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>Здравствуйте, ambel-vlad, Вы писали:


AV>>То есть фактически твой отладчик лишь красивая обертка над анализатором логов?


PC_>Отчасти ты прав,

PC_>в статье есть развернутый ответ на твой вопрос

PC_>

PC_>Поэтому изначальная идея Research Studio .NET была довольно простой и сводилась лишь к тому чтобы избежать недостатков выше.
PC_>Во-первых, добавление логирующего кода, должно было быть полностью автоматизировано и скрыто за обычным процессом компиляции.
PC_>Во-вторых, отладочный код должен был быть невидим. Программист только видит основной рабочий код.


Пока хорошо.

PC_>

PC_>В-третьих, логироваться должно абсолютно все.


Абсолютно все? Что ты подразумаешь под этим? И не забудь, что логирование замедляет работу программы. А так же вносит свои эффекты.

PC_>

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


Насчет интуитивности. На свете есть только одна интуитивная штука. Догадываешься как она называется? А остальному приходится учиться. Но это так, лирическое отступление.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 12:26
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>>>Как происходит этот сбор данных?


PC_>Допустим ты тестер. Сидишь клацаешь по приложению.

PC_>Вдруг заметил что если открыть одно окно, ввести там какие некорректные данные
PC_>и нажать кнопочку сохранить происходит ошибка. Кликаешь кнопку, записать отчет.

То есть запускать программу надо под твоей студией? Думаю процентов 90 пользователей ты отсек.

PC_>В этот момент фреймворк начинает записывать каждую вызванную функцию, значение каждой переменной, логировать

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

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

AV>>Кок он будет ее собирать? Как он будет знать какую информацию надо собирать?


PC_>Собирает всю доступную информацию в приложении с указаного момента.

PC_>Некоторые отчеты могут иметь размер до 500 мб и содержать сотни тысяч шагов.
PC_>Но чаще всего отчет занимает несколько мегабайт в несжатом виде.

Думаю, если логировать абсолютно все, то это очень оптимистичные оценки

AV>>Шо, еще и эмулятор надо создавать? А этот эмулятор что будет эмулировать?


PC_>Нет, эмулятор встроен в студию.


Ха, а он откуда там появится?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 12:34
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

PC_>>

PC_>>В-третьих, логироваться должно абсолютно все.

AV>Абсолютно все? Что ты подразумаешь под этим? И не забудь, что логирование замедляет работу программы. А так же вносит свои эффекты.

Еще раз принцип работы тестера.
Тестер кликает и тестирует твое приложение пока не находит баг.
Никаких замедлений в работе приложения в это время нет. Так происходит до тех пор, пока тестер не находит баг.
Допустим чтобы найти баг он потратил 20 минут. Дальше когда баг найден ему нужно включить режим записи отчета
и всеголишь повторить свои действия. Только на этом участке происходит замедление работы приложения. После того
как тестер повторил свои действия которые привели к багу и закончил запись отчета, приложения снова работает в своем
штатном режиме.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[15]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 12:37
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>>>

PC_>>>В-третьих, логироваться должно абсолютно все.

AV>>Абсолютно все? Что ты подразумаешь под этим? И не забудь, что логирование замедляет работу программы. А так же вносит свои эффекты.

PC_>Еще раз принцип работы тестера.

PC_>Тестер кликает и тестирует твое приложение пока не находит баг.
PC_>Никаких замедлений в работе приложения в это время нет. Так происходит до тех пор, пока тестер не находит баг.
PC_>Допустим чтобы найти баг он потратил 20 минут. Дальше когда баг найден ему нужно включить режим записи отчета
PC_>и всеголишь повторить свои действия.

Записываем действия с какого момента?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 12:41
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>То есть запускать программу надо под твоей студией? Думаю процентов 90 пользователей ты отсек.


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

AV>И тут настает облом. Потому что проблема началась раньше, чем тестер заметил проблемы и нажал на кнопочку. Не, не всегда так будет, но частенько сталкиваться придетсяю


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

AV>Думаю, если логировать абсолютно все, то это очень оптимистичные оценки


Получаются оценки подтвержденные исследованиями и практикой.
Там все в рамках допустимого.

AV>Ха, а он откуда там появится?


Я его написал.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[16]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 12:50
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Записываем действия с какого момента?


Все он не записывает.
Записывает с того момента с какого считает нужным.
Например открыл формочку, ввел данные, сохранил — получил баг.
Вот с открытия формочки и записывает.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[15]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 12:56
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>То есть запускать программу надо под твоей студией? Думаю процентов 90 пользователей ты отсек.


PC_>Нет, у тестера только маленькое приложение в трее и там несколько кнопок.

PC_>Создать отчет, сохранить отчет, отправить отчет.
PC_>Любое приложение которое скомпилировано на моей студии, работает под управлением высокоуровневого фреймворка и с него можно
PC_>снимать отчеты. На компьютере тестера или клиентов студия не установлена.
PC_>А вот для открытия отчета и дебага нужно устанавливать студию только на компьютере программиста.

Упс, то есть на твоей студии нельзя написать программу не задействовав твой FW? Тогда 90% это была очень оптимистичная оценка.

AV>>И тут настает облом. Потому что проблема началась раньше, чем тестер заметил проблемы и нажал на кнопочку. Не, не всегда так будет, но частенько сталкиваться придетсяю


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

PC_>Но она покрывает значительно больше багов чем может покрыть существующая студия.

А перед существующей студией и не ставятся такие задачи. К счастью.

AV>>Думаю, если логировать абсолютно все, то это очень оптимистичные оценки


PC_>Получаются оценки подтвержденные исследованиями и практикой.

PC_>Там все в рамках допустимого.

Либо ты не абсолютно все логгируешь, либо что-то не так.

AV>>Ха, а он откуда там появится?


PC_>Я его написал.


... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 13:03
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Упс, то есть на твоей студии нельзя написать программу не задействовав твой FW? Тогда 90% это была очень оптимистичная оценка.


Есть Release версия есть Debug версия, а у меня еще есть RS Debug версия включающая мой фремворк для подробного сбора информации
с приложения в момент воспроизведения ошибки на машине тестера.

В чем заключается твой вопрос ?

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

PC_>>Но она покрывает значительно больше багов чем может покрыть существующая студия.
AV>А перед существующей студией и не ставятся такие задачи. К счастью.

Обычная студия довольно таки примитивна.
О чем и речь.

AV>Либо ты не абсолютно все логгируешь, либо что-то не так.


Я логирую все шаги программы и изменяющиеся значения переменных.
На основе этой информации работают все профайлеры, визуализаторы и прочьи
фичи отображающие отладочную информацию в удобном для восприятия и исследований виде.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[17]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 13:25
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>Записываем действия с какого момента?


PC_>Все он не записывает.

PC_>Записывает с того момента с какого считает нужным.
PC_>Например открыл формочку, ввел данные, сохранил — получил баг.
PC_>Вот с открытия формочки и записывает.

Ты хотел сказать, что записываются с того момента, как тестер нажал волшебную кнопочку. А не с открытия окна/диалога.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[17]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 13:25
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>Упс, то есть на твоей студии нельзя написать программу не задействовав твой FW? Тогда 90% это была очень оптимистичная оценка.


PC_>Есть Release версия есть Debug версия, а у меня еще есть RS Debug версия включающая мой фремворк для подробного сбора информации

PC_>с приложения в момент воспроизведения ошибки на машине тестера.

Можешь показать как это выглядит?

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

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

PC_>>>Но она покрывает значительно больше багов чем может покрыть существующая студия.
AV>>А перед существующей студией и не ставятся такие задачи. К счастью.

PC_>Обычная студия довольно таки примитивна.

PC_>О чем и речь.

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

AV>>Либо ты не абсолютно все логгируешь, либо что-то не так.


PC_>Я логирую все шаги программы и изменяющиеся значения переменных.


А насколько велики программы на которых ты тестировал свою студию?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Интересное чтиво о отечественой студии
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 23.02.11 13:47
Оценка:
А когда можно будет увидеть прототип?
Ce n'est que pour vous dire ce que je vous dis.
Re[18]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 13:56
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Ты хотел сказать, что записываются с того момента, как тестер нажал волшебную кнопочку. А не с открытия окна/диалога.


Да, тестер сам решает с какого момента писать отчет.
Обычно это момент когда он начинает воспроизводить последовательность действий которые привели к багу.

Также документы/отчеты это некоторый вид документации в проекте.
Например ты можешь создать документ работы старой функциональности и время от времени
открывать этот документ в этой студии для прояснения для себя работы старой функциональности.

Приимуществом этого подхода также есть то, что документ легко переносится на любой другой компьютер.
Например тестер тебе может сбросить документ, ты его можешь записать на флешку и открыть этот документ дома.
Дома разобраться в работе приложения с багом, хотя дома у тебя нет установленого рабочего проекта, нет базы данных,
ничего не настроено.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[18]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 14:05
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Можешь показать как это выглядит?




AV>И что там с отладкой не в debug конфигурации? А то ты что-то там говорил про клиентов. И как ты борешься с тем, что логирование может вносить изменение в поведение программы?


Обычное бизнесс приложение довольно примитивно. Какойто эвент, например нажатие на кнопку, приводит к вызову целого дерева функций.
Отрабатывает увесистая прослойка бизнесс логики, чтото кудато записать, чтото откудато прочитать, чтото посчитать и т.д.
Тоесть это классический тип бизнесс приложения для дебага.
Многопоточные сервера где может быть эффект от расинхронизации я не отлаживаю.
Впрочем и в обычной студии Дебаг версия может отличатся от Релиз версии.

AV>И за счет этой примитивности она пока что выигрывает. Нельзя объять необъятное. Лучше подумать над механизмом, который позволяет подключать сторонние модули


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

PC_>>Я логирую все шаги программы и изменяющиеся значения переменных.

AV>А насколько велики программы на которых ты тестировал свою студию?

В моем рабочем проекте около 500 тыс. строк.
Удавалось получить отчет свыше 100 тысяч шагов.
На практике это когда в релизной версии программы ты клацаешь на кнопочку и гдето пол минуты программа чтото считает.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[2]: Интересное чтиво о отечественой студии
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 23.02.11 14:13
Оценка: 1 (1) :)
Здравствуйте, Don Reba, Вы писали:

DR>А когда можно будет увидеть прототип?


Прототип пока работает на VB.NET и я начал работу над С#.
В целом я пока исследую мнения, может найдутся люди которые заинтересованы
в развитии отечественой студии на РСДН вот в таком амбициозном формате.

Так что можете меня считать чудаком,
но я считаю разработка студии должна быть в руках самих разработчиков, а не коропораций.
Тем более что студия может быть на голову продвинутей чем те крохи со стола которые бросают
нам заокеанские коропорации
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[19]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 14:35
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>И что там с отладкой не в debug конфигурации? А то ты что-то там говорил про клиентов. И как ты борешься с тем, что логирование может вносить изменение в поведение программы?


PC_>Обычное бизнесс приложение довольно примитивно.


Не все бизнес-приложения такие примитивные.

PC_>Многопоточные сервера где может быть эффект от расинхронизации я не отлаживаю.


А логирование даже в обычном приложении может дать наведенные эффекты.

PC_>Впрочем и в обычной студии Дебаг версия может отличатся от Релиз версии.


Да, может.

AV>>И за счет этой примитивности она пока что выигрывает. Нельзя объять необъятное. Лучше подумать над механизмом, который позволяет подключать сторонние модули


PC_>Когдато люди неохотно слазили с блокнотов в визуальную среду разработки.

PC_>Вот вещь которая еще на шаг качественней делает отладку приложений и вводит новый тип документирования отработавших алгоритмов.

Не сильно многое она дает. Многое уже сегодня можно реализовать (и многое уже реализовано) при помощи подключаемых модулей. А то что ты сделал, оно пока очень ограничено. И скорее всего подавляющему кол-ву людей так или иначе не подойдет.

PC_>>>Я логирую все шаги программы и изменяющиеся значения переменных.

AV>>А насколько велики программы на которых ты тестировал свою студию?

PC_>В моем рабочем проекте около 500 тыс. строк.

PC_>Удавалось получить отчет свыше 100 тысяч шагов.
PC_>На практике это когда в релизной версии программы ты клацаешь на кнопочку и гдето пол минуты программа чтото считает.

Стоп. Ты ж говорил, что твой FW включается в конфигурации RS Debug.

И какой размер лога у тебя получился?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: Интересное чтиво о отечественой студии
От: ambel-vlad Беларусь  
Дата: 23.02.11 14:35
Оценка:
Здравствуйте, PC_2, Вы писали:

AV>>Ты хотел сказать, что записываются с того момента, как тестер нажал волшебную кнопочку. А не с открытия окна/диалога.


PC_>Да, тестер сам решает с какого момента писать отчет.

PC_>Обычно это момент когда он начинает воспроизводить последовательность действий которые привели к багу.

Ох, чует моя душа, что будут жмякать с самого начала. И будет у тебя один отчет на всю флешку.

PC_>Также документы/отчеты это некоторый вид документации в проекте.


Да, документация — это часть проекта. А твоя студия поддерживает TeX?

PC_>Приимуществом этого подхода также есть то, что документ легко переносится на любой другой компьютер.

PC_>Например тестер тебе может сбросить документ, ты его можешь записать на флешку и открыть этот документ дома.
PC_>Дома разобраться в работе приложения с багом, хотя дома у тебя нет установленого рабочего проекта, нет базы данных,
PC_>ничего не настроено.

Работаю я на работе. А если иногда и надо что-то сделать по работе, то VPN+rDesktop хватит выше крыши.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.