SQL/LINQ подобный язык для рефакторинга
От: maloi_alex СССР  
Дата: 26.01.13 17:18
Оценка: 4 (1) +1
Нет ли инструментов под .net, чтобы код можно было править код в декларативном стиле, например:

update Solution.Projects.Types t
   set t.IsPublc = true, t.IsSealed = true
   where t.IsAssignableFrom(typeof(BaseType)) && (!t.IsPublic || !t.IsSealed);


Re: SQL/LINQ подобный язык для рефакторинга
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.01.13 07:16
Оценка:
Здравствуйте, maloi_alex, Вы писали:

_>


Roslyn смотрел?
... << RSDN@Home 1.2.0 alpha 5 rev. 66 on Windows 8 6.2.9200.0>>
AVK Blog
Re[2]: SQL/LINQ подобный язык для рефакторинга
От: WolfHound  
Дата: 27.01.13 13:57
Оценка:
Здравствуйте, AndrewVK, Вы писали:

_>>

AVK>Roslyn смотрел?
И в каком месте он декларативный?
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: SQL/LINQ подобный язык для рефакторинга
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.01.13 17:16
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

_>>>

AVK>>Roslyn смотрел?
WH>И в каком месте он декларативный?

В том месте, где к нему можно применить LINQ.
... << RSDN@Home 1.2.0 alpha 5 rev. 66 on Windows 8 6.2.9200.0>>
AVK Blog
Re: SQL/LINQ подобный язык для рефакторинга
От: Aikin Беларусь kavaleu.ru
Дата: 28.01.13 07:45
Оценка: 1 (1) +1
Здравствуйте, maloi_alex, Вы писали:

_>Нет ли инструментов под .net, чтобы код можно было править код в декларативном стиле, например:


_> where t.IsAssignableFrom(typeof(BaseType)) && (!t.IsPublic || !t.IsSealed);

http://www.ndepend.com/
Рефакторинг сам не сделает, но найти все классы по условию поможет: www.ndepend.com/Features.aspx#CQL
from m in Application.Methods  
where m.NbLinesOfCode >  30  && m.IsPublic
select m

А имея список провести рефакторинг можно и вручную (или с помощью решарпера).


СУВ, Aikin
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[2]: SQL/LINQ подобный язык для рефакторинга
От: maloi_alex СССР  
Дата: 28.01.13 10:56
Оценка:
Здравствуйте, Aikin, Вы писали:

A>http://www.ndepend.com/

A>Рефакторинг сам не сделает, но найти все классы по условию поможет: www.ndepend.com/Features.aspx#CQL
A>
from m in Application.Methods  
A>where m.NbLinesOfCode >  30  && m.IsPublic
A>select m

A>А имея список провести рефакторинг можно и вручную (или с помощью решарпера).


A>СУВ, Aikin


Интересно. Спасибо!
Re: SQL/LINQ подобный язык для рефакторинга
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.01.13 11:35
Оценка: 30 (4)
Здравствуйте, maloi_alex, Вы писали:

_>Нет ли инструментов под .net, чтобы код можно было править код в декларативном стиле, например:


В плане функционала (PM по AST и выполнение преобразований над его узлами) в NRefactory есть нечто подобное:

var pattern = new VariableDeclarationStatement {
    Type = new AnyNode("type"),
    Variables = {
        new VariableInitializer {
            Name = Pattern.AnyString,
            Initializer = new ObjectCreateExpression {
                Type = new Backreference("type"),
                Arguments = { new Repeat(new AnyNode()) }
            }
        }
    }};
Match m = pattern.Match(someNode);
if (m.Success) {
    // Replace redundant type name with 'var'
    m.Get<AstType>("type").Single().ReplaceWith(new SimpleType("var"));
}
... << RSDN@Home 1.2.0 alpha 5 rev. 66>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: SQL/LINQ подобный язык для рефакторинга
От: Sinix  
Дата: 29.01.13 11:40
Оценка: 10 (2)
Здравствуйте, Aikin, Вы писали:

A>http://www.ndepend.com/

A>Рефакторинг сам не сделает, но найти все классы по условию поможет: www.ndepend.com/Features.aspx#CQL
Ещё можно глянуть nitriq. Возможностей в плане визуализации поменьше, зато он бесплатен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.