studio
2023.10
false
UiPath logo, featuring letters U and I in white
Guia do usuário do Studio
Last updated 4 de nov de 2024

Melhores práticas

Para garantir que suas automações codificadas sejam eficientes, fáceis de manter e escaláveis, você precisa seguir as melhores práticas. Esta seção fornece uma visão geral das principais melhores práticas a serem lembradas ao embarcar em sua jornada de aproveitamento de código para criar soluções de automação. A adoção dessas melhores práticas ajudará você a projetar automações codificadas, especificamente ao estruturar seu código, implementar estratégias de tratamento de erros ou criar componentes reutilizáveis.

Paralelismo

O paralelismo melhora o desempenho e é mais fácil implementá-lo em automações codificadas. Um loop For Each pode aumentar a velocidade com a qual uma automação é executada.

Classes aninhadas

As automações codificadas (arquivos CS) não são compatíveis com o uso ou a invocação de variáveis ou argumentos de classes aninhadas dentro de automações de pouco código (arquivos XAML). Se você tentar invocar esses tipos de argumentos usando uma atividade Invoke Workflow File ou para criar esses argumentos em arquivos XAML, você receberá erros. Recomendamos usar variáveis e argumentos de classes aninhadas apenas dentro de outros arquivos CS.

Herança de fluxo de trabalho codificado

A herança de fluxo de trabalho codificado promove a reutilização e a modularidade de código, permitindo criar uma hierarquia de classes onde as classes filhas herdam e estendem a funcionalidade das classes pai. Esta hierarquia de herança facilita a organização do código e evita a duplicação de funcionalidades comuns em múltiplas classes. Além disso, simplifica a manutenção e as atualizações, porque as alterações feitas na classe pai são transmitidas automaticamente para as classes filhas, reduzindo as chances de introdução de bugs ou inconsistências.
Vamos demonstrar como funciona a herança usando três classes: CodedWorkflow, ParentFile(uma classe intermediária que herda CodedWorkflowe contém um método personalizado) e MyCustomWorkflowjunto com AnotherCustomWorkflow(classes derivadas que herdam ParentFile). A tabela abaixo mostra como funciona a herança entre essas classes e arquivos:
Automação codificadaDescriptionCódigo
CodedWorkflow (read-only partial class) Esta classe serve como base para todos os fluxos de trabalho codificados. Ele contém métodos e propriedades essenciais comuns a todos os fluxos de trabalho, herdados da CodedWorkflowBaseclasse. Neste exemplo, é a classe da qual todos os outros fluxos de trabalho herdam.
Importante: o arquivo que você deseja que outros fluxos de trabalho herdem também deve herdar CodedWorkflowe implicitamente as CodedWorkflowBaseclasses. Isso garante que todos os fluxos de trabalho herdem funções essenciais e funcionem como esperado.
public partial class CodedWorkflow : CodedWorkflowBase
    {
        public CodedWorkflow()
        {
         //...

    }
}public partial class CodedWorkflow : CodedWorkflowBase
    {
        public CodedWorkflow()
        {
         //...

    }
}
ParentFile (code source file containing an intermediate class and a custom method) Esta classe herda CodedWorkflowe adiciona métodos e funcionalidades personalizados. Neste exemplo, inclui um método personalizado chamado , que realiza ações CustomMethodespecíficas, como iniciar um trabalho no Orchestrator.
public class ParentFile : CodedWorkflow
{
    public void CustomMethod(string processName, string folderPath, 
    StartProcessDtoJobPriority jobPriority, bool resumeOnSameContext, 
    out string jobId)
    {
        // Enter your custom code here.
        // For example, use the StartJob API inside this custom method.
        jobId = system.StartJob(processName, folderPath, jobPriority, resumeOnSameContext);
    }
}public class ParentFile : CodedWorkflow
{
    public void CustomMethod(string processName, string folderPath, 
    StartProcessDtoJobPriority jobPriority, bool resumeOnSameContext, 
    out string jobId)
    {
        // Enter your custom code here.
        // For example, use the StartJob API inside this custom method.
        jobId = system.StartJob(processName, folderPath, jobPriority, resumeOnSameContext);
    }
}
MyCustomWorkflow and AnotherCustomWorkflow (coded workflows that inherit the code source file) Essas classes herdam ParentFilee personalizam ainda mais o fluxo de trabalho substituindo métodos ou fornecendo valores de parâmetros diferentes. Neste exemplo, temos MyCustomWorkflowe AnotherCustomWorkflow, ambos herdam ParentFile.
public class MyCustomWorkflow : ParentFile
    {
        [Workflow]
        public void Execute()
        {
            // You can now call CustomMethod from the base class.
            string processName = "YourProcessName";
            string folderPath = "YourFolderPath";
            StartProcessDtoJobPriority jobPriority = StartProcessDtoJobPriority.Normal;
            bool resumeOnSameContext = false;
            string jobId;

            // Call the custom method from the base class.
            CustomMethod(processName, folderPath, 
            jobPriority, resumeOnSameContext, out jobId);
        }
    }public class MyCustomWorkflow : ParentFile
    {
        [Workflow]
        public void Execute()
        {
            // You can now call CustomMethod from the base class.
            string processName = "YourProcessName";
            string folderPath = "YourFolderPath";
            StartProcessDtoJobPriority jobPriority = StartProcessDtoJobPriority.Normal;
            bool resumeOnSameContext = false;
            string jobId;

            // Call the custom method from the base class.
            CustomMethod(processName, folderPath, 
            jobPriority, resumeOnSameContext, out jobId);
        }
    }
Concluindo, como ParentFileherda de CodedWorkflow, qualquer classe que herda ParentFileindiretamente herda a funcionalidade e os métodos de CodedWorkflow. Em outras palavras, MyCustomWorkflowambos AnotherCustomWorkflowherdam a funcionalidade principal da classe CodedWorkflowparcial por meio da intermediária ParentFile, juntamente com outras classes personalizadas, como CustomMethod.

Registro de serviços personalizados

Para aprimorar suas automações codificadas, usando lógica customizada, você pode registrar serviços customizados, que serão usados posteriormente em suas automações codificadas. Visite Registro de serviços personalizados para saber como registrar seu próprio serviço personalizado.

Contextos Antes e Depois

Nos casos de teste, os contextos Antes e Depois permitem executar determinadas ações antes e depois da execução do caso de teste. Esses contextos são comumente usados para configurar e desmontar recursos, realizar registro em log e gerenciar o ambiente de teste. Visite contextos Antes e Depois para saber como os contextos se comportam e como implementá-los.

Dicas e truques

Projete automações codificadas eficientes e robustas usando as dicas e truques a seguir. Essa coleção de insights ajuda você a otimizar seu código, evitar erros e maximizar o desempenho.
  • Recomendamos que você não faça alterações nos namespaces.
  • Armazene uma ação dentro de uma classe e reutilize-a em todo o projeto, evitando a duplicação de código.
  • Você pode remover os namespaces que importou durante o tempo de design, mas que não são mais necessários.
  • Se você precisar obter dados de vários aplicativos, separe as fases da automação codificada, para não misturar dados provenientes de várias fontes.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.