Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Введение в Roslyn. Использование для разработки инструментов статического анализа / 24 сообщений из 24, страница 1 из 1
19.05.2016, 16:08
    #39239288
el_programmer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Roslyn – платформа с открытым исходным кодом, разрабатываемая корпорацией Microsoft, и содержащая в себе компиляторы и средства для разбора и анализа кода, написанного на языках программирования C# и Visual Basic. Кроме этого она предоставляет разработчику различные мощные средства для разбора и анализа кода. Но наличия таких средств недостаточно, нужно понимать, что и для чего необходимо использовать.

Статью можно разделить на 2 больших логических раздела:

Общая информация про Roslyn. Обзор инструментов, предоставляемых им для разбора и анализа кода. Приводится как общее описание сущностей и интерфейсов, так и взгляд на них с точки зрения разработчика статического анализатора.


Особенности, которые следует учитывать при разработке статических анализаторов. О том, как использовать Roslyn для разработки продуктов этого класса, что нужно учитывать при разработке диагностических правил, как их писать, пример диагностики и т.п.

Данная статья несёт цель ответить на подобные вопросы. Помимо этого, будет рассказано об особенностях разработки статических анализаторов, использующих Roslyn API.
...
Рейтинг: 0 / 0
19.05.2016, 18:12
    #39239466
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
el_programmerнужно понимать, что и для чего необходимо использовать
Вот как раз этого не понимаю, зачем это надо?
...
Рейтинг: 0 / 0
19.05.2016, 18:37
    #39239489
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Cat2el_programmerнужно понимать, что и для чего необходимо использовать
Вот как раз этого не понимаю, зачем это надо?
ну можно например задать правила оформления кода, при не соблюдении которых он не будет компилироваться
статический анализ это круто!
...
Рейтинг: 0 / 0
19.05.2016, 22:45
    #39239588
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
ЕвгенийВCat2пропущено...

Вот как раз этого не понимаю, зачем это надо?
ну можно например задать правила оформления кода, при не соблюдении которых он не будет компилироваться
статический анализ это круто!
Типа не написал комментарий в методе и все?
...
Рейтинг: 0 / 0
20.05.2016, 03:11
    #39239622
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Cat2Типа не написал комментарий в методе и все?
Типа если для отступов использовал не табы, а пробелы, то всё (это есть у меня такая мечта).
...
Рейтинг: 0 / 0
20.05.2016, 05:46
    #39239640
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Сон Веры ПавловныCat2Типа не написал комментарий в методе и все?
Типа если для отступов использовал не табы, а пробелы, то всё (это есть у меня такая мечта).святая инквизиция, скоро за пробелы будут на кол сажать =)
ладно бы еще в Python'е, а в C# то за что? пофигу же
...
Рейтинг: 0 / 0
20.05.2016, 06:14
    #39239642
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Roman Mejtesа в C# то за что? пофигу же
Если пишешь не один - совсем не пофигу. При на стройке табовых отступов задается, какому количеству пробелов равен таб. Если весь код отформатирован табами, то все отступы нормальные и равномерные. Потом этот код берет человек, у которого настроены пробельные отступы, и отключено отображение whitespaces. Где-то он отступает 2 пробелами, где-то тремя, по умолчанию у него настроено 1 таб=4 пробела, он влезает в ранее написанный код, что-то правит с отступами в эти 4 пробела, коммитит. Берешь после всего этого код - и нормально отформатированный отступами код превращается в кашу.
...
Рейтинг: 0 / 0
20.05.2016, 06:26
    #39239645
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Сон Веры Павловны,

есть же 100500 форматтеров )
...
Рейтинг: 0 / 0
20.05.2016, 07:20
    #39239651
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Roman MejtesСон Веры Павловны,

есть же 100500 форматтеров )
Ну да, и вместо того, чтобы писать код, сидишь, как дурак, и дергаешь эти форматтеры. Это несколько раздражает.
...
Рейтинг: 0 / 0
20.05.2016, 09:30
    #39239711
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Сон Веры ПавловныRoman MejtesСон Веры Павловны,

есть же 100500 форматтеров )
Ну да, и вместо того, чтобы писать код, сидишь, как дурак, и дергаешь эти форматтеры. Это несколько раздражает.

Ну жа. Нажать Ctrl+K, Ctrl+D - офигенное раздражает!
...
Рейтинг: 0 / 0
20.05.2016, 09:38
    #39239716
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Сон Веры ПавловныCat2Типа не написал комментарий в методе и все?
Типа если для отступов использовал не табы, а пробелы, то всё (это есть у меня такая мечта).
Как-то мелко для Roslyn :) Для этого есть StyleCop, StyleCop+
...
Рейтинг: 0 / 0
20.05.2016, 10:14
    #39239760
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
skyANAКак-то мелко для Roslyn :) Для этого есть StyleCop, StyleCop+
А что не мелковато для Roslyn?
...
Рейтинг: 0 / 0
20.05.2016, 10:24
    #39239771
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
ЕвгенийВskyANAКак-то мелко для Roslyn :) Для этого есть StyleCop, StyleCop+
А что не мелковато для Roslyn?
ReSharper ^)
...
Рейтинг: 0 / 0
20.05.2016, 10:50
    #39239798
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Roman MejtesReSharper ^)
Если ты заметил, та на этой странице эта тема помечена звездочкой!
А это означает, что писать в теме можно только о хорошем!
...
Рейтинг: 0 / 0
20.05.2016, 11:24
    #39239831
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
ЕвгенийВЕсли ты заметил, та на этой странице эта тема помечена звездочкой!
А это означает, что писать в теме можно только о хорошем!
Это у Вас она звездочкой помечена, как Избранное
...
Рейтинг: 0 / 0
20.05.2016, 11:37
    #39239845
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
ЕвгенийВskyANAКак-то мелко для Roslyn :) Для этого есть StyleCop, StyleCop+
А что не мелковато для Roslyn?Парсинг C# => DOM.

зы: Странно, что это сделали только сейчас, а не ~16 лет назад.
...
Рейтинг: 0 / 0
20.05.2016, 11:42
    #39239852
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
ЕвгенийВskyANAКак-то мелко для Roslyn :) Для этого есть StyleCop, StyleCop+
А что не мелковато для Roslyn?
В статье же есть пример: PVS-Studio
...
Рейтинг: 0 / 0
20.05.2016, 11:46
    #39239861
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Алексей КПарсинг C# => DOM.

зы: Странно, что это сделали только сейчас, а не ~16 лет назад.
Эрик об этом писал в конце 2010, работать видимо начали двумя-тремя годами ранее.
Долго писали.
...
Рейтинг: 0 / 0
20.05.2016, 11:46
    #39239862
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Алексей КПарсинг C# => DOM.

зы: Странно, что это сделали только сейчас, а не ~16 лет назад.
А зачем это нужно?
...
Рейтинг: 0 / 0
20.05.2016, 11:52
    #39239871
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
ЕвгенийВАлексей КПарсинг C# => DOM.

зы: Странно, что это сделали только сейчас, а не ~16 лет назад.
Эрик об этом писал в конце 2010, работать видимо начали двумя-тремя годами ранее.
Долго писали.А первые дотнеты вышли в ~2000-м году вместе с кодогенерацией CodeDOM "из коробки". Не трудно было ещё тогда сделать парсер. А главное - поддерживать это всё в актуальном состоянии вместе с развитием C#/VB, чтобы не было множества описаний одного и того же: CodeDOM, LINQ Expression, теперь ещё и Roslyn.
...
Рейтинг: 0 / 0
20.05.2016, 12:12
    #39239885
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
skyANAА зачем это нужно?
Ну есть например большой начальника - тим лид, которые не пропустит скажем 10 ref/out параметров в методе, метод больше 100 строк или SQLConnection без using.
Для этого он должен все просмотреть глазами, а тут можно сделать так, что такой код до него дойдет даже.
...
Рейтинг: 0 / 0
20.05.2016, 12:18
    #39239892
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
Алексей КЕвгенийВпропущено...

Эрик об этом писал в конце 2010, работать видимо начали двумя-тремя годами ранее.
Долго писали.А первые дотнеты вышли в ~2000-м году вместе с кодогенерацией CodeDOM "из коробки". Не трудно было ещё тогда сделать парсер. А главное - поддерживать это всё в актуальном состоянии вместе с развитием C#/VB, чтобы не было множества описаний одного и того же: CodeDOM, LINQ Expression, теперь ещё и Roslyn.
Ну это не одно и тоже!
Roslyn - компилятор как сервис.
LINQ Expression - деревья выражений которые можно создавать/изменять во время исполнения или которые могут использовать код стороннего программиста который даже еще не написан.
CodeDOM - первое, что пришло в голову.
...
Рейтинг: 0 / 0
20.05.2016, 12:23
    #39239902
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
ЕвгенийВskyANAА зачем это нужно?
Ну есть например большой начальника - тим лид, которые не пропустит скажем 10 ref/out параметров в методе, метод больше 100 строк или SQLConnection без using.
Для этого он должен все просмотреть глазами, а тут можно сделать так, что такой код до него дойдет даже.
А при чём тут парсинг C# => DOM? Или я не понял, что Алексей имеет в виду?
...
Рейтинг: 0 / 0
20.05.2016, 12:28
    #39239907
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введение в Roslyn. Использование для разработки инструментов статического анализа
ЕвгенийВАлексей Кпропущено...
А первые дотнеты вышли в ~2000-м году вместе с кодогенерацией CodeDOM "из коробки". Не трудно было ещё тогда сделать парсер. А главное - поддерживать это всё в актуальном состоянии вместе с развитием C#/VB, чтобы не было множества описаний одного и того же: CodeDOM, LINQ Expression, теперь ещё и Roslyn.
Ну это не одно и тоже!
Roslyn - компилятор как сервис.
LINQ Expression - деревья выражений которые можно создавать/изменять во время исполнения или которые могут использовать код стороннего программиста который даже еще не написан.
CodeDOM - первое, что пришло в голову.Всё это вертится вокруг структуры данных, описывающей C#/VB программу - syntax tree. И этот syntax tree вполне мог бы быть стандартизован, и использоваться для различных задач: кодогенерация, парсинг, преобразование в другие языки, решение задач для IDE и т. п. Но не судьба.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Введение в Roslyn. Использование для разработки инструментов статического анализа / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]