Сертификат "Введение в генерацию программного кода"
  • Сертификат "Введение в генерацию программного кода"
  • Сертификат "Введение в генерацию программного кода"
Сертификат "Введение в генерацию программного кода"
  • Сертификат "Введение в генерацию программного кода"
  • Сертификат "Введение в генерацию программного кода"

Введение в генерацию программного кода

700,00 руб.
В течение часа!
Экзамен "Введение в генерацию программного кода" для пользователей и системных администраторов.
Количество
Есть в наличии!

Форма сдачи теста: Экстерн
Количество вопросов: 30
Проходной балл: 90% и выше
Срок действия сертификата: неограничен

Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.
10523 шт.
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Что такое генерация исходного кода?

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



Выберите верные выражения, касающиеся генерации кода

генерация кода предназначена для автоматического описания требований к программному проекту
генерация кода уменьшает объем разработки рутинного характера
генерация кода - это автоматическое создание исходного кода программой
генерация кода избавляет программиста от задачи проектирования приложения



Автоматическое создание программного кода специальным приложением, при котором по заданным условиям полностью или частично формируется исходный код программы это:

применение всех шагов цикле разработки программного кода
генерация исходного программного кода
разработка кода программы вручную
тестирование исходного программного кода



Если заданы шаблоны программного кода, метаданные, правила предметной области, то что можно получить?

предметную область
сгенерированный программный код
ключевые составляющие для генерации кода
генератор кода



Чем являются шаблоны программного кода, метаданные, правила предметной области по отношению к генерации кода?

ключевыми составляющими
генератором кода
предметной областью
сгенерированным программным кодом



Для генерации кода необходимо наличие следующих ключевых составляющих:

базы данных, промежуточный уровень и пользовательский интерфейс
шаблоны, базы данных и пользовательский интерфейс
шаблоны программного кода, метаданные, правила предметной области
метаданные, базы данных и генератор



Выберите верное утверждение, касающееся шаблонов программного кода

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



Шаблоны программного кода это:

образцы, по которым генерируется программный код
сгенерированный программный код
структура, которая моделируется в сгенерированной программе
правила, которые определяют структуру и поведение метаданных предметной области



Пусть есть программа, генерирующая запросы SELECT. Что будет являться шаблоном для этой программы?

имена таблиц, полей и типов полей
правила написания запросов SELECT
образец текста, содержащий ключевые слова SELECT, FROM, WHERE и специально отведенные места для имен таблиц и полей
готовый запрос SELECT с конкретными именами таблиц и полей



Пусть есть программа, генерирующая запросы SELECT. Что будет являться метаданными для этой программы?

правила написания запросов SELECT
образец текста, содержащий ключевые слова SELECT, FROM, WHERE и специально выделенные места для имен таблиц и полей
имена таблиц, полей и типов полей
готовый запрос SELECT с конкретными именами таблиц и полей



Выберите верное утверждение, касающееся метаданных предметной области

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



Метаданные предметной области это:

структура, которая моделируется в сгенерированной программе
правила, которые определяют структуру и поведение метаданных предметной области
сгенерированный программный код
образцы, по которым генерируется программный код



Выберите верное утверждение, касающееся правил предметной области

определяют структуру и поведение метаданных
являются повторяющимися участками кода
являются изменяющимися участками кода
определяют правила, по которым формируются шаблоны



Правила предметной области это:

правила, которые определяют структуру и поведение метаданных предметной области
образцы, по которым генерируется программный код
сгенерированный программный код
структура, которая моделируется в сгенерированной программе



Пусть есть программа, генерирующая запросы SELECT. Что будет являться правилами предметной области для этой программы?

образец текста, содержащий ключевые слова SELECT, FROM, WHERE и специально выделенные места для имен таблиц и полей
имена таблиц, полей и типов полей
готовый запрос SELECT с конкретными именами таблиц и полей
правила написания запросов SELECT



Что является преимуществами применения генерации кода?

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



Что является преимуществами применения генерации кода?

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



Что является преимуществами применения генерации кода?

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



Что является недостатком применения генерации кода?

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



Что является недостатком применения генерации кода?

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



Что является недостатком применения генерации кода?

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



Завершенность сгенерированного кода означает, что

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



Где могут храниться метаданные?

в XML-файлах
в текстовых файлах
в базах данных
в коде генератора


В каком случае масштаб генерации достигает уровня языковой техники?

когда генерируется только отдельный файл кода
когда выработано достаточное количество шаблонов достаточного качества, чтобы покрывать основные возможности языка или технологии
когда на каждом уровне приложения применяется сгенерированный код
когда генерируется один уровень в архитектуре приложения



Какие применяются основные методы генерации кода?

метод полного перебора
с применением шаблонов
объектное моделирование
манипуляции текстом



Дан файл со следующими комментариями:

//a=1
//b=a+2
//c=6
//a=c-b
 

 
Также имеется приведенный ниже программный код:

List<string> program = new List<string>();
string line;
string var;
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        var = line[2].ToString();
        program.Add("int " + line.Substring(2) + ";");
    }
}
Output.PutResult(program, resultpath);
 


В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?

int a=1;
int b=a+2;
int c=6;
int a=c-b;
     
int a=1;
int b;
b=a+2;
int c=6;
a=c-b;
     
int a=1;
int b=a+2;
int c=6;
a=c-b;
    
int a;
a=1;
int b;
b=a+2;
int c;
c=6;
a=c-b;
     
 

Дан файл со следующими комментариями:

//a=1
//b=a+2
//c=6
//a=c-b
 

Также имеется приведенный ниже программный код:

List<string> program = new List<string>();
List<string> vars = new List<string>();
string line;
string var;
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        var = line[2].ToString();
        if (!vars.Contains(var))
        {
            program.Add("int " + line.Substring(2) + ";");
            vars.Add(var);
        }
        else
            program.Add(line.Substring(2));
    }
}
Output.PutResult(program, resultpath);



В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?

int a=1;
int b=a+2;
int c=6;
int a=c-b;


int a=1;
int b;
b=a+2;
int c=6;
a=c-b;

int a=1;
int b=a+2;
int c=6;
a=c-b;

int a;
a=1;
int b;
b=a+2;
int c;
c=6;
a=c-b;



Дан файл со следующими комментариями:

//a=1
//b=a+2
//c=6
//a=c-b
 
 
Также имеется приведенный ниже программный код:

List<string> program = new List<string>();
List<string> vars = new List<string>();
string line;
string var;
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        var = line[2].ToString();
        if (!vars.Contains(var))
        {
            program.Add("int " + line[2] + ";");
            vars.Add(var);
        }
        program.Add(line.Substring(2) + ";");
    }
}
Output.PutResult(program, resultpath);

В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?

int a=1;
int b=a+2;
int c=6;
int a=c-b;

int a=1;
int b;
b=a+2;
int c=6;
a=c-b;

int a=1;
int b=a+2;
int c=6;
a=c-b;

int a;
a=1;
int b;
b=a+2;
int c;
c=6;
a=c-b;
     


Дана следующая программа
List<string> program = new List<string>();
List<string> vars = new List<string>();
string line;
string var;
string rest;
int k;
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        if (line.Contains("//")) k = 2; else k = 0;
        var = line[k].ToString();
        rest = line.Substring(k);
        if (!vars.Contains(var))
        {
            program.Add("int " + rest + ";");
            vars.Add(var);
        }
        else
            program.Add(rest + ";");
    }
}
Output.PutResult(program, resultpath);
 
В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Каким должен быть входной файл, чтобы на выходе работы программы получить следующий результат?

int a=1;
int b=2;
int x=a+b;
int y=b-a;

//int a=1;
//int b=2;
//int x=a+b;
//int y=b-a;

//x=a+b
//y=b-a
a=1
b=2

a=1
b=2
//x=a+b
//y=b-a

a=1
//b=2
//x=a+b
//y=b-a



Какие действия нужно проводить для более эффективного применения генерации?

время от времени проводить перегенерацию автоматического кода
проводить обучение по генератору, создать документацию на него
внедрить генератор на как можно более ранней стадии
поддерживать генератор для долгосрочного применения



Дана следующая программа

List<string> program = new List<string>();
List<string> vars = new List<string>();
string line;
string var;
string rest;
int k;
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        if (line.Contains("//")) k = 2; else k = 0;
        var = line[k].ToString();
        rest = line.Substring(k);
        if (!vars.Contains(var))
        {
            program.Add("int " + rest + ";");
            vars.Add(var);
        }
        else
            program.Add(rest + ";");
    }
}
Output.PutResult(program, resultpath);
 
В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Каким должен быть входной файл, чтобы на выходе работы программы получить следующий результат?

int x=1;
int b=2;
int a=x+b;
x=x+b;
int y=a-x;

//int x=1;
//int b=2;
//int a=x+b;
x=x+b;
//int y=a-x;
     
x=1
b=2
a=x+b
x=x+b
y=a-x 

//x=1
//b=2
//a=x+b
x=x+b
//y=a-x

x=1
b=2
a=x+b
//x=x+b
//y=a-x




Дана следующая программа
List<string> program = new List<string>();
List<string> vars = new List<string>();
string line;
string var;
string rest;
int k;
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        if (line.Contains("//")) k = 2; else k = 0;
        var = line[k].ToString();
        rest = line.Substring(k);
        if (!vars.Contains(var))
        {
            program.Add("int " + rest + ";");
            vars.Add(var);
        }
        else
            program.Add(rest + ";");
    }
}
Output.PutResult(program, resultpath);

В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Каким должен быть входной файл, чтобы на выходе работы программы получить следующий результат?

int a=1;
int b=a+2;
int c=6;
a=c-b;
 
//int a=1;
//int b=a+2;
//int c=6;
a=c-b;
     
a=1
b=a+2
c=6
a=c-b
     
a=1
//b=a+2
c=6
//a=c-b
 
//a=1
//b=a+2
//c=6
//a=c-b



Дан файл со следующими комментариями:

//read x
y=x+5;
//write y
//z=2*x+y
//write z
 

Также имеется приведенный ниже программный код:

List<string> program = new List<string>();
List<string> vars = new List<string>();
List<string> declarations = new List<string>();
string line;
string var;
string lineoutput;
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        if (line.Contains("read"))
        {
            var = line[7].ToString();
            program.Add("Console.Read(" + line[7].ToString() + ");");
        }
        else
            if (line.Contains("write"))
            {
                var = line[8].ToString();
                program.Add("Console.WriteLine(" + line[8].ToString() + ");");
            }
            else
                if (line.Contains("//"))
                {
                    var = line[2].ToString();
                    program.Add(line.Substring(2) + ";");
                }
                else
                {
                    var = line[0].ToString();
                    program.Add(line);
                }
        if (!vars.Contains(var)) { vars.Add(var); declarations.Add("int " + var + ";"); }
       
    }
}
declarations.AddRange(program);
Output.PutResult(declarations, resultpath);
 
В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?

Console.Read( x);
y=x+5;
Console.WriteLine( y);
z=2*x+y;
Console.WriteLine( z);
int x;
int y;
int z;
Console.Read(x);
y=x+5;
Console.WriteLine(y);
z=2*x+y;
Console.WriteLine(z);

Console.Read( x);
y=x+5;
Console.WriteLine( y);
int z=2*x+y;
Console.WriteLine( z);

int x;
Console.Read(x);
int y;
y=x+5;
Console.WriteLine(y);
int z;
z=2*x+y;
Console.WriteLine(z);



Дан файл со следующими комментариями:

//read x
y=x+5;
//write y
//z=2*x+y
//write z
 
Также имеется приведенный ниже программный код:

List<string> program = new List<string>();
string line;
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        if (line.Contains("read"))
            program.Add("Console.Read(" + line[7].ToString() + ");");
        else
            if (line.Contains("write"))
                program.Add("Console.WriteLine(" + line[8].ToString() + ");");
            else
                if (line.Contains("//"))
                    program.Add(line.Substring(2) + ";");
                else
                    program.Add(line);
    }
}
Output.PutResult(program, resultpath);

В переменной filepath хранится путь к файлу с комментариями. Переменная resultpath содержит путь, куда выводится результат работы программы, а метод Output.PutResult осуществляет этот вывод. Что будет выведено в файл в результате работы программы?

Console.Read(x);
y=x+5;
Console.WriteLine(y);
z=2*x+y;
Console.WriteLine(z);

Console.Read(x);
y=x+5;
Console.WriteLine(y);
int z=2*x+y;
Console.WriteLine(z)

int x;
Console.Read(x);
int y;
y=x+5;
Console.WriteLine(y);
int z;
z=2*x+y;
Console.WriteLine(z);
int x;
int y;
int z;
Console.Read(x);
y=x+5;
Console.WriteLine(y);
z=2*x+y;
Console.WriteLine(z);
     

     
Чем является следующий код?

<#@ template debug="false" language="C#" #>
<#@ output extension=".cs" #>
<# string[] vars = new string [] {"A", "B", "C"}; #>
class MyClass {
<#
  foreach (string variable in vars)
  { #>
  private int <#= variable #> = 0;
<# } #>
}

незавершенным кодом
кодом на ASP
шаблоном XSLT
шаблоном T4



Чем является следующий код?

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
    <xsl:for-each select="VARIABLES/VARIABLE[@Active='true']">
      const int <xsl:value-of select="VAR"/> =
      <xsl:value-of select="VAL"/>;<BR/>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>


XML-файлом
файлом метаданных
шаблоном T4
шаблоном XSLT



Чем является следующий код?

List<string> program = new List<string>();
string line;
Regex pattern = new Regex(@"^//\s*(?<val>.*?)\s*=", RegexOptions.Singleline);
using (StreamReader sr = File.OpenText(filepath))
{
    while (!sr.EndOfStream)
    {
        line = sr.ReadLine();
        foreach (Match m in pattern.Matches(line))
        {
            program.Add("private int " + m.Groups["val"].Value + ";");
        }
        program.Add(Regex.Replace(line,@"^//\s*",""));
    }
}
Output.PutResult(program, filepath);

шаблоном T4
программой с применением XML
регулярным выражением
программой с применением регулярных выражений



Чем является незавершенный код с точки зрения генерации кода?

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



Что выполняется, если меняются требования к приложению?

если приложение уже применяется в работе, то эти требования отменяются
заново генерируется код, но в тестировании он уже не нуждается, так как предыдущий вариант кода был уже протестирован
код разрабатывается или генерируется заново
при необходимости выполняется перепроектирование, изменяется, удаляется или добавляется код с последующим тестированием и отладкой



Каковы основные шаги в разработке и верификации программного кода?

проектирование, разработка, тестирование, отладка
сбор данных, разработка инструкции, составление документации
разработка, отладка, настройка, распространение
проектирование, разработка, установка, настройка



Выберите верные утверждения касательно применения генераторов

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



Выберите верные утверждения касательно применения генераторов

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



Выберите верные утверждения касательно применение генератора

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



Какой минимум информации должны содержать метаданные, чтобы можно было сгенерировать запросы для добавления полей к таблицам, подобные этому?

alter table equipment add (service_description varchar2(1000 char))
 
имя таблицы, имя поля, тип поля
имя таблицы, имя поля, новое имя поля
имя таблицы, имя поля
имя таблицы, имя поля, новый тип поля



Какой минимум информации должны содержать метаданные, чтобы можно было сгенерировать запросы для изменения типов полей таблиц, подобные этому?

alter table drawing modify (revision number)
 
имя таблицы, имя поля, тип поля
имя таблицы, имя поля
имя таблицы, имя поля, новое имя поля
имя таблицы, имя поля, новый тип поля



Какой минимум информации должны содержать метаданные, чтобы можно было сгенерировать запросы для удаления полей из таблиц, подобные этому?

alter table equipment drop column model
 
имя таблицы, имя поля
имя таблицы, имя поля, тип поля
имя таблицы, имя поля, новый тип поля
имя таблицы, имя поля, новое имя поля



Какой минимум информации должны содержать метаданные, чтобы можно было сгенерировать запросы для переименования полей таблиц, подобные этому?

alter table equipment rename column id to equipment_id
 

имя таблицы, имя поля, новое имя поля
имя таблицы, имя поля
имя таблицы, имя поля, новый тип поля
имя таблицы, имя поля, тип поля



Дан следующий запрос

select 'alter table '|| lower(table_name) || ' add('||lower(column_name)||'_text varchar2(4000 char));'
from cols
where cols.data_type='NUMBER'
  order by table_name, column_name
 
Представление cols в Оракл содержит информацию о полях таблицы в базе данных. В поле column_name хранится имя поля, а в поле table_name содержится имя таблицы, в которой находится поле. В полях же data_type и data_length хранятся соответственно тип данных и длина поля. Что делает вышеприведенный запрос?

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



Дан следующий запрос

select 'alter table '|| lower(table_name) || ' modify('||lower(column_name)||  ' varchar2(4000 char));'
from cols
where cols.data_type like '%VARCHAR2%'
  and data_length between 1000 and 3999
  order by table_name, column_name

Представление cols в Оракл содержит информацию о полях таблицы в базе данных. В поле column_name хранится имя поля, а в поле table_name содержится имя таблицы, в которой находится поле. В полях же data_type и data_length хранятся соответственно тип данных и длина поля. Что делает вышеприведенный запрос?

увеличивает длину текстовых полей, размерность которых составляет от 1000 до 3999
генерирует запросы, которые увеличивают длину текстовых полей до 4000, размерность которых составляет от 1000 до 3999
уменьшает длину текстовых полей, размерность которых составляет 4000 на величину от 1000 до 3999
генерирует запросы для добавления текстового поля длиной 4000, если в таблице есть другие поля размерностью от 1000 до 3999



Дан следующий запрос

select 'update '|| lower(table_name) || ' set '||lower(column_name)||'_text =
to_char('||lower(column_name)||') where '||lower(column_name)||' is not null;'
from cols c1
where
c1.data_type='NUMBER'
and exists
    (select 1
    from cols c2
    where c1.table_name = c2.table_name
    and lower(c1.column_name||'_text') = lower(c2.column_name)
    and c2.data_type like '%CHAR%')
order by c1.table_name, c1.column_name   

Представление cols в Оракл содержит информацию о полях таблицы в базе данных. В поле column_name хранится имя поля, а в поле table_name содержится имя таблицы, в которой находится поле. В полях же data_type и data_length хранятся соответственно тип данных и длина поля. Что делает вышеприведенный запрос?

генерирует запросы, заменяющие целочисленное поле на текстовое или наоборот, для случаев, когда в таблице нет хотя бы одного поля, причем имя текстового поля аналогично имени целочисленного поля, но с добавлением окончания
генерирует запросы, записывающие значение из целочисленного поля в текстовое, для случаев, когда в таблице имеются оба поля, причем имя текстового поля аналогично имени целочисленного поля, но с добавлением окончания
записывает значение из целочисленного поля в текстовое, причем имя текстового поля аналогично имени целочисленного поля, но с добавлением окончания
генерирует запросы, записывающие значение из текстового поля в целочисленное, для случаев, когда в таблице имеются оба поля, причем имя текстового поля аналогично имени целочисленного поля, но с добавлением окончания



Какие виды блоков применяются в шаблонах T4?

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



Какие виды директив применяются в шаблонах T4?

template, parameter, output, assembly, import, include, extension, пользовательские директивы
template, parameter, output, assembly, import, print, include, пользовательские директивы
template, parameter, language, output, assembly, import, include, пользовательские директивы
template, parameter, output, assembly, import, include, пользовательские директивы



Технология T4 это

инструмент для генерации кода на основе шаблонов
приложение, выполняющее генерацию кода
объектная модель документа
язык преобразований XSL



Блок кода это:

часть шаблона, содержащая программный код и заключенная между знаками <# и #>
часть шаблона, содержащая код на языке C# или Visual Basic и заключенная между знаками <#% и #>
часть шаблона, содержащая метод и заключенная между знаками <#+ и #>
часть шаблона, содержащая выражение и заключенная между знаками <#= и #>



Блок вспомогательных методов это:

часть шаблона, содержащая программный код и заключенная между знаками <# и #>
часть шаблона, содержащая выражение и заключенная между знаками <#= и #>
часть шаблона, содержащая код на языке C# или Visual Basic и заключенная между знаками <#% и #>
часть шаблона, содержащая метод и заключенная между знаками <#+ и #>



Блок выражений это:

часть шаблона, содержащая метод и заключенная между знаками <#+ и #>
часть шаблона, содержащая выражение и заключенная между знаками <#= и #>
часть шаблона, содержащая код на языке C# или Visual Basic и заключенная между знаками <#% и #>
часть шаблона, содержащая программный код и заключенная между знаками <# и #>



Управляющие блоки это:

часть шаблона, содержащая вспомогательный метод и заключенная между знаками <#& и #>
часть шаблона, содержащая простой текст, выводимый в результат шаблона без изменений
часть шаблона, содержащая правила его обработки и заключенная между знаками <#@ и #>
это блоки кода, вспомогательных методов и выражений



Блок директив это:

это блок кода, вспомогательных методов и выражений
часть шаблона, содержащая простой текст, выводимый в результат шаблона без изменений
часть шаблона, содержащая правила его обработки и заключенная между знаками <#@ и #>
часть шаблона, содержащая вспомогательный метод и заключенная между знаками <#& и #>


Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Текстовый блок это:

это блок кода, вспомогательных методов и выражений
часть шаблона, содержащая простой текст, выводимый в результат шаблона без изменений
часть шаблона, содержащая правила его обработки и заключенная между знаками <#@ и #>
часть шаблона, содержащая вспомогательный метод и заключенная между знаками <#& и #>



Какое назначение у директивы template:

указывает расширение и кодировку выходного файла
указывает правила обработки файла шаблона
указывает, является ли файл шаблоном
устанавливает параметры, которые передаются в шаблон



Какое назначение у директивы output:

указывает язык, на котором сгенерирован код в результате работы шаблона
устанавливает параметры, которые передаются в шаблон
указывает расширение и кодировку выходного файла
указывает правила обработки файла шаблона



Какое назначение у директивы parameter в технологии T4:

указывает правила обработки файла шаблона
указывает, имеет ли файл параметры
устанавливает параметры, которые передаются в шаблон
указывает расширение и кодировку выходного файла



Какое назначение у директивы include:

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



Какое назначение у директивы import:

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



Какое назначение у директивы assembly:

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



В состав шаблона включены следующие директивы. Укажите их назначение

<#@ template hostspecific="true" language="C#" #>
<#@ output extension=".txt" #>

код внутри шаблона написан на языке C#, результат является текстовым файлом
код внутри шаблона написан на языке C#, требуется доступ к API Visual Studio, выходной файл имеет расширение ".txt"
требуется доступ к API Visual Studio, выходной файл имеет расширение ".txt" и является кодом на языке C#,
генерируется код на языке C#, доступ к API Visual Studio не требуется, выходной файл имеет расширение ".txt"



В состав шаблона включены следующие директивы. Укажите их назначение

<#@ output extension=".cs" #>
<#@ assembly name="System.Xml"#>
<#@ import namespace="System.Xml" #>

генерируется код на языке C#, включена сборка System.Xml, к ее классам можно обращаться по короткому имени
выходной файл имеет расширение ".cs", включена сборка System.Xml, импортировано пространство имен System.Xml
код внутри шаблона написан на языке C#, включена сборка System.Xml, к ее классам можно обращаться по короткому имени
выходной файл имеет расширение ".cs", включена сборка System.Xml, в шаблон включен файл "System.Xml"



Укажите назначение данной директивы

<#@ template debug="false" hostspecific="true" language="C#" #>

требуется отладка шаблона, нужен доступ к службам Visual Studio, в коде шаблона используется язык C#
отладка шаблона не требуется, нужен доступ к службам Visual Studio, в коде шаблона используется язык C#
требуется отладка шаблона, доступ к службам Visual Studio не нужен, в коде шаблона используется язык C#
отладка шаблона не требуется, доступ к службам Visual Studio не нужен, в коде шаблона используется язык C#



Как работают шаблоны T4?

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



Какие методы позволяют установить отступы в результирующем тексте?

PushIndent, PopIndent, ResetIndent
PushIndent, PopIndent, ClearIndent
AddIndent, RemoveIndent, ClearIndent
AddIndent, RemoveIndent, RemoveAllIndent



Выберите верное утверждение:

PushIndent и PopIndent служат для добавления и удаления одного отступа в/из стека отступов
RemoveAllIndent служит для очистки стека отступов
ClearIndent служит для очистки стека отступов
ResetIndent служит для очистки стека отступов
AddIndent и RemoveIndent служат для добавления и удаления одного отступа в/из стека отступов



Что относится к минусам применения технологии T4?

зависимость от дальнейшей поддержки технологии T4
использование пользовательских директив в шаблоне
в некоторых случаях шаблоны будут очень сложными
шаблоны T4 поддерживают два языка - C# и Visual Basic
шаблон T4 изначально предназначен для создания только одного файла



Что относится к плюсам применения технологии T4?

наглядность и простота шаблонов
шаблон предназначен для создания одного файла
возможность расширения функциональности T4
возможность генерации любой текстовой информации



Какие есть возможности расширения функциональности T4?

предоставление нового базового класса.
создание пользовательских директив
создание собственного хоста
включение в шаблон других шаблонов



Что будет результатом выполнения следующего шаблона?

<#GetMonthName(1);
GetMonthName(3);
GetMonthName(7);
GetMonthName(11);
GetMonthName(13);
GetMonthName(12);
#>
<#+ public void GetMonthName(int a)
{
  if(a>2&&a<6) {PushIndent("\t\t"); WriteLine("Весна");}
  if(a>5&&a<9) {PopIndent(); WriteLine("Лето");}
  if(a>8&&a<12) {PopIndent(); WriteLine("Осень");PushIndent("\t");}
  if(a>0&&a<3||a==12) {PushIndent("\t"); WriteLine("Зима");}
  if(a<1||a>12) {ClearIndent(); WriteLine("Ошибка");}
}#>

  Зима
      Весна
    Лето
  Осень
Ошибка
  Зима

  Зима
      Весна
  Лето
Осень
Ошибка
  Зима

  Зима
    Весна
  Лето
Осень
Ошибка
  Зима

  Зима
      Весна
  Лето
Осень
Ошибка
Зима



Что будет результатом выполнения следующего шаблона?

<#GetMonthName(3);
GetMonthName(15);
GetMonthName(9);
GetMonthName(0);
#>
<#+ public void GetMonthName(int a)
{
  if(a>2&&a<6) PutMonth(2,"Весенний месяц");
  if(a>5&&a<9) PutMonth(3,"Летний месяц");
  if(a>8&&a<12) PutMonth(4,"Осенний месяц");
  if(a>0&&a<3||a==12) PutMonth(1,"Зимний месяц");
  if(a<1||a>12) PutMonth(0,"Нет такого месяца");
}#>
<#+ public void PutMonth(int n, string s)
{
  for(int i=0;i<n;i++) Write("\t");
  WriteLine(s);
}#>
 
    Весенний месяц
Нет такого месяца
        Осенний месяц

    Весенний месяц
        Осенний месяц
Нет такого месяца

    Весенний месяц
Нет такого месяца
        Осенний месяц
Нет такого месяца

    Весенний месяц
        Осенний месяц

       
       
Что будет результатом выполнения следующего шаблона?

<#GetMonthName(2);
GetMonthName(-1);
GetMonthName(7);
GetMonthName(13);
#>
<#+ public void GetMonthName(int a)
{
  if(a>2&&a<6) WriteLine("\t\tВесенний месяц");
  if(a>5&&a<9) WriteLine("\t\t\tЛетний месяц");
  if(a>8&&a<12) WriteLine("\t\t\t\tОсенний месяц");
  if(a>0&&a<3||a>11) WriteLine("\tЗимний месяц");
}#>
 
Зимний месяц
    Летний месяц
Зимний месяц

Зимний месяц
    Летний месяц

Зимний месяц
Зимний месяц
    Летний месяц
Зимний месяц
Зимний месяц
    Летний месяц
Зимний месяц



XSL это:

каскадные стили шаблонов
расширяемый язык стилей
файл для преобразования документа XML
язык преобразования стилей



Технология XSLT это:

язык для преобразования документов XML
стили, которые применяются к документам XML
каскадные шаблоны стилей
язык программирования для генерации кода



XSLT был разработан

комитетом IEEE в ноябре 1999 года - первая версия и в январе 2007 года - вторая версия
консорциумом W3C в декабре 1996 года - первая версия и в мае 1998 года - вторая версия
консорциумом W3C в ноябре 1999 года - первая версия и в январе 2007 года - вторая версия
комитетом IEEE в декабре 1996 года - первая версия и в мае 1998 года - вторая версия



Процессор XSLT это:

приложение, которое на основе документов XML генерирует стили XSLT
приложение, выполняющее преобразование стиля XSLT
файл стиля, который используется для выполнения преобразования над документом XML
приложение, принимающее в качестве входных данных документы XML и стили XSLT и выполняющее преобразование



Файл стиля XSLT должен быть:

валидным документом XML
валидным и откорректированным документом XML
корректным и валидным документом XML
корректным документом XML



Как работает XSLT:

процессор XSLT на основе заданного документа XML и стиля XSLT выполняет преобразование, результатом которой является выходной документ
на основе заданного документа XML и процессора XSLT выполняется преобразование, результатом которой является выходной документ
процессор XSLT на основе заданного документа XML и выходного документа формирует стиль XSLT
на основе заданного документа XML стиль XSLT выполняет трансформацию, результатом которой является выходной документ



XPath это:

язык запросов к элементам XML-документа
язык доступа к стилям XSLT
навигатор в файлах стилей
путь к элементу XML-документа



Что включает в себя модель XSLT?

документы XML, стили XSLT, процессор XSLT
стили XSLT, процессор XSLT, входные документы
документы XML, стили XSLT, процессор XSLT, выходные документы
документы XML, стили XSLT



Выберите верные утверждения:

xsl:stylesheet содержит правила, по которым будет преобразовываться документ XMLxsl:template
служит для указания пути к файлу стиля
xsl:apply-templates служит для вызова шаблона xsl:template по имени либо по соответствию набора узлов выражению
xml-stylesheet содержится в файле стилей



Выберите верные утверждения:

xsl:apply-templates содержит правила, по которым будет преобразовываться документ XML
xml-stylesheet служит для указания пути к файлу стиля
xsl:template служит для вызова шаблона по имени
xsl:stylesheet указывает на то, что данный XML-файл является файлом стиля и содержит все остальные XSLT-элементы



Выберите верные утверждения:

xsl:apply-templates служит для вызова шаблона по имени
xsl:template содержит правила, по которым будет преобразовываться документ
XMLxsl:stylesheet служит для указания пути к файлу стиля
xml-stylesheet указывает на то, что данный XML-файл является файлом стиля и содержит все остальные XSLT-элементы



xsl:for-each служит для

извлечения значения из документа XML и вывода в результат трансформации
выполнения проверки сразу по нескольким условиям
установки условия над содержимым документа XML
циклического прохождения по узлам документа, которые соответствуют критерию выборки



xsl:value-of служит для

установки условия над содержимым документа XML
циклического прохождения по узлам документа, которые соответствуют критерию выборки
выполнения проверки сразу по нескольким условиям
извлечения значения из документа XML и вывода в результат трансформации



xsl:if служит для

извлечения значения из документа XML и вывода в результат трансформации
циклического прохождения по узлам документа, которые соответствуют критерию выборки
установки условия над содержимым документа XML
выполнения проверки сразу по нескольким условиям



Выберите верные утверждения:

порядок расположения инструкции xsl:include не играет роли
порядок расположения инструкции xsl: import имеет значение
функция last() возвращает общее число позиций
xsl:when содержится внутри xsl:otherwise



Выберите верные утверждения:

класс XslCompiledTransform используется для выполнения преобразования программным путем
порядок условий xsl:when не имеет значения
функция position() возвращает номер позиции данного контекста
порядок расположения инструкции xsl: import не играет роли



Выберите верные утверждения:

функция position() возвращает номер последней позиции
xsl:variable позволяет декларировать переменные
функция last() возвращает номер позиции данного контекста
xsl:import позволяет одному стилю XSLT импортировать другой стиль



Дан следующий XML-файл:

<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<package>
  <procedure name="prc_save_record">
    <parameter name="id" type="number" in="true" out="true"/>
    <parameter name="name" type="varchar2" in="true"/>
    <parameter name="title" type="varchar2"/>
    <parameter name="save_date" type="date" out="true"/>
  </procedure>
  <procedure name="prc_delete_record">
    <parameter name="id" type="number"/>
  </procedure>
</package>
 

И следующий файл стиля:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:template match="/">
  <xsl:for-each select="package/procedure">
      procedure <xsl:value-of select="@name"/>
      (<xsl:for-each select="parameter">
        <xsl:value-of select="@name"/>
        <xsl:text> </xsl:text>
        <xsl:if test="@in='true'">in </xsl:if>
        <xsl:if test="@out='true'">out </xsl:if>
        <xsl:value-of select="@type"/>
        <xsl:if test="not(position()=last())">,<BR/> </xsl:if>
      </xsl:for-each>);
      <xsl:if test="not(position()=last())"><BR/><BR/></xsl:if>
  </xsl:for-each>
</xsl:template>
</xsl:stylesheet>
 

Каким будет результат?

procedure prc_save_record (id in out number,
name in varchar2,
title varchar2,
save_date out date);

procedure prc_delete_record (id number);


procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date);

procedure prc_delete_record (id number);


procedure prc_save_record (
    id in out number,
    name in varchar2,
    title varchar2, save_date out date);

procedure prc_delete_record (id number);


procedure prc_save_record (
id in out number,
name in varchar2,
title varchar2,
save_date out date);

procedure prc_delete_record (
id number);



Дан следующий XML-файл:

<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<package>
  <procedure name="prc_save_record">
    <parameter name="id" type="number" in="true" out="true"/>
    <parameter name="name" type="varchar2" in="true"/>
    <parameter name="title" type="varchar2"/>
    <parameter name="save_date" type="date" out="true"/>
  </procedure>
  <procedure name="prc_delete_record">
    <parameter name="id" type="number"/>
  </procedure>
</package>
 
И следующий файл стиля:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:template match="/">
  <xsl:for-each select="package/procedure">
      procedure <xsl:value-of select="@name"/>
      (<xsl:for-each select="parameter">
    <xsl:if test="not(position()=last())"><BR/>
<xsl:text disable-output-escaping="yes">&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text> </xsl:if>
        <xsl:value-of select="@name"/>
        <xsl:text> </xsl:text>
        <xsl:if test="@in='true'">in </xsl:if>
        <xsl:if test="@out='true'">out </xsl:if>
        <xsl:value-of select="@type"/>
        <xsl:if test="not(position()=last())">, </xsl:if>
      </xsl:for-each>);
      <xsl:if test="not(position()=last())"><BR/><BR/></xsl:if>
  </xsl:for-each>
</xsl:template>
</xsl:stylesheet>
 
Каким будет результат?

procedure prc_save_record (
    id in out number,
    name in varchar2,
    title varchar2,
    save_date out date);

procedure prc_delete_record (id number);


procedure prc_save_record (
id in out number,
name in varchar2,
title varchar2,
save_date out date);

procedure prc_delete_record (
id number);


procedure prc_save_record (id in out number,
name in varchar2,
title varchar2,
save_date out date);

procedure prc_delete_record (id number);


procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date);

procedure prc_delete_record (id number);



Дан следующий XML-файл:

<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<package>
  <procedure name="prc_save_record">
    <parameter name="id" type="number" in="true" out="true"/>
    <parameter name="name" type="varchar2" in="true"/>
    <parameter name="title" type="varchar2"/>
    <parameter name="save_date" type="date" out="true"/>
  </procedure>
  <procedure name="prc_delete_record">
    <parameter name="id" type="number"/>
  </procedure>
</package>

И следующий файл стиля:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:template match="/">
  <xsl:for-each select="package/procedure">
      procedure <xsl:value-of select="@name"/>
      (<xsl:for-each select="parameter">
        <xsl:value-of select="@name"/>
        <xsl:text> </xsl:text>
        <xsl:if test="@in='true'">in </xsl:if>
        <xsl:if test="@out='true'">out </xsl:if>
        <xsl:value-of select="@type"/>
        <xsl:if test="not(position()=last())">, </xsl:if>
      </xsl:for-each>);
      <xsl:if test="not(position()=last())"><BR/><BR/></xsl:if>
  </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Каким будет результат?

procedure prc_save_record (id in out number,
name in varchar2,
title varchar2,
save_date out date);

procedure prc_delete_record (id number);

procedure prc_save_record (
    id in out number,
    name in varchar2,
    title varchar2, save_date out date);

procedure prc_delete_record (id number);

procedure prc_save_record (
id in out number,
name in varchar2,
title varchar2,
save_date out date);

procedure prc_delete_record (
id number);

procedure prc_save_record (id in out number, name in varchar2, title varchar2, save_date out date);

procedure prc_delete_record (id number);



Дан следующий XML-файл:

<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<cities>
  <city country="Казахстан">Астана</city>
  <city country="Россия">Москва</city>
  <city country="Узбекистан">Ташкент</city>
  <city country="Украина">Киев</city>
  <city country="Киргизия">Бишкек</city>
  <city country="Белоруссия">Минск</city>
</cities>
 
И следующий файл стиля:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:template match="/">
    <H4>Столицы мира:</H4>
    <xsl:for-each select="cities/city">
(*)
    </xsl:for-each>
    <BR/>
  </xsl:template>
</xsl:stylesheet>
 

 
Что нужно вставить вместо звездочки(*), чтобы получился следующий результат?

Столицы мира:
Астана, Москва, Ташкент, Киев, Бишкек, Минск


<xsl:value-of select="."/><BR/>


<xsl:value-of select="."/> - <xsl:value-of select="@country"/><BR/>


<xsl:value-of select="."/>
<xsl:if test="not(position()=last())">, </xsl:if>


<xsl:value-of select="."/>
<xsl:if test="not(position()=last())">,<BR/></xsl:if>



Что относится к плюсам применения преобразований XSLT?

для генерации кода заново нужно перекомпилировать приложение
простой декларацией можно выполнять многие стандартные функции
поддерживается разделение метаданных и шаблонов
шаблоны наглядны и проще для понимания



Что относится к плюсам применения преобразований XSLT?

XSLT уже поддерживает работу со специальными символами
в XSLT затруднена реализация сложных алгоритмов
поддерживается разделение метаданных и шаблонов
можно заново генерировать код, только изменив шаблон



Что относится к плюсам применения преобразований XSLT?

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



Для создания цикла используется объект класса

CodeIterationStatement
CodeAssignStatement
InitStatement
IncrementStatement



Применение генерации в тестировании позволяет:

не применять существующие средства тестирования приложений
экономить время, затрачиваемое на создание тестов и тестовых данных
улучшить качество тестирования
уменьшить время, затрачиваемое на проектирование системы тесторования



Как генерируется код с применением технологии CodeDom?

строится шаблон T4 с примением классов из пространства имен CodeDom, провайдером кода одного из языков шаблон трансформируется в программный код на этом языке
строится модель кода с примением классов из пространства имен CodeDom, провайдером кода одного из языков эта модель конвертируется в программный код на этом языке
с примением классов из пространства имен CodeDom строится дерево кода и генерируется программный код
с помощью провайдера кода одного из языков создается модель кода, применением классов CodeDom формируется сгенерированный код



Выгодами применения генераторов кода для манипуляции данными являются:

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



В каких случаях однозначно эффективно применять генератор?

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



Каким методом генерируется код из корневого элемента дерева?

GenerateCodeFromStatement
GenerateCodeFromMember
GenerateCodeFromCompileUnit
GenerateCodeFromNamespace



Каким методом генерируется код из класса?

GenerateCodeFromMember
GenerateCodeFromNamespace
GenerateCodeFromStatement
GenerateCodeFromCompileUnit



CodeDom это

объектная модель документов кода
документный объект кодовой модели
код объектной модели документов
документ объектной модели кода



Для представления класса в CodeDom используется объект типа

CodeTypeReference
CodeClassDeclaration
MyGenericClass
CodeTypeDeclaration



Для инициализации пространства имен используется объект класса

CodeNamespaceImport
MyGenericNameSpace
CodeNamespace
MyNameSpace



Каким методом генерируется код из класса?

GenerateCodeFromStatement
GenerateCodeFromNamespace
GenerateCodeFromCompileUnit
GenerateCodeFromMember



CodeObjectCreateExpression позволяет

присвоить выражение переменной
создать новый объект
создать новую команду
объявить переменную



CodeTypeReference позволяет

инициализировать переменную
объявить новую команду
создать новый тип
объявить ссылку на тип данных



Для представления класса в CodeDom используется объект типа

CodeTypeDeclaration
CodeClassDeclaration
CodeTypeReference
MyGenericClass



Для выполнения компиляции кода используется метод

GenerateCodeFromCompileUnit
CompileAssemblyFromDom
CodeMemberMethod
CodeEntryPointMethod



CodeVariableDeclarationStatement позволяет

создать новый объект
присвоить выражение переменной
создать новую команду
объявить переменную



Для вывода напрямую в сгенерированном коде текста кода используется объект типа

CodeTextExpression
CodeSnippetExpression
CodeSnippetValue
CodeVariableReferenceExpression



Что дает генерация пользовательского интерфейса?

гибкость к изменениям
возможность систематизировать пользовательский интерфейс
абстрагирование бизнес процесса от конкретной реализации пользовательского интерфейса
возможность ее тестирования



Что дает генерация пользовательского интерфейса?

быструю скорость разработки
снижение количества ошибок
улучшение оформления пользовательского интерфейса
возможность применения генератора тестов



Для выполнения компиляции кода используется метод

CompileAssemblyFromDom
CodeEntryPointMethod
GenerateCodeFromCompileUnit
CodeMemberMethod



Выгодами генерации документации являются:

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



Что дает генерация пользовательского интерфейса?

улучшение оформления пользовательского интерфейса
быструю скорость разработки
возможность применения генератора тестов
снижение количества ошибок/



Что нужно сделать для улучшения генерации пользовательского интерфейса?

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



Какие параметры надо взвешивать при оценке выгоды применения генератора?

выгоды от генерации в виде согласовенности, безошибочности
время на создание и сопровождение генерации
время на создание шаблонов и введение метаданных
время на проектирование приложения



Однозначно малоэффективно применять генератор при:

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



Каким методом генерируется код из пространства имен?

GenerateCodeFromStatement
GenerateCodeFromCompileUnit
GenerateCodeFromNamespace
GenerateCodeFromMember



Выберите верные утверждения касательно сгенерированного кода.

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



Выберите верные утверждения касательно разработки генератора:

интерфейс генератора сделать удобным и дружественным
язык реализации генератора должен выбираться независимо от языка генерируемого приложения
интегрировать генератор в среду разработки
язык реализации генератора должен быть объектно-ориентированным.



Для представления процедуры в CodeDom используется объект типа

CodeMemberMethod
GenericProcedureType
CodeProcedureType
CodeEntryPointMethod


Вы можете обратится к нам напрямую, через:

skype По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516

Или через форму обратной связи на нашем сайте
Пока сочиняется...
4.png