By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
RPABOTS.WORLD
  • Topics
    • UiPath
    • blue prism
    • Open Source RPA
    • power automate
    • automation anywhere
  • Resources
    • RPA News
    • UiPath Free Course
    • Software
    • Jobs
    • Publications
  • Contact-us
    • Write For Us
    • Editorial Team
Notification
  • My Interests
  • My Saves
  • My Feed
  • History
Personalize
RPABOTS.WORLDRPABOTS.WORLD
Aa
Search
  • Topics
    • UiPath
    • blue prism
    • Open Source RPA
    • power automate
    • automation anywhere
  • Resources
    • RPA News
    • UiPath Free Course
    • Software
    • Jobs
    • Publications
  • Contact-us
    • Write For Us
    • Editorial Team

Top Stories

Explore the latest updated news!
Robot Framework Python: Working with Databases

Robot Framework Python: Working with Databases

Continuous Integration and Deployment with Robot Framework

Continuous Integration and Deployment with Robot Framework Python

Top 5 Tips for Writing Clean and Maintainable Robot Framework Python Code

Top 5 Tips for Writing Clean and Maintainable Robot Framework Python Code

Stay Connected

Find us on socials
248.1k Followers Like
61.1k Followers Follow
165k Subscribers Subscribe
Made by ThemeRuby using the Foxiz theme. Powered by WordPress
RPABOTS.WORLD > Blog > Topics > UiPath > uipath tutorial > UiPath Code Review Checklist – To Perform Effective RPA Code Reviews
uipath tutorial

UiPath Code Review Checklist – To Perform Effective RPA Code Reviews

Satish Prasad
Last updated: 2022/08/04 at 5:01 AM
By Satish Prasad 1 comment 1
Share
9 Min Read
UiPath Code Review Checklist
UiPath Code Review Checklist
SHARE

Code review can be treated as a check-post/ guardrails in which developers submit their code for feedback before merging branches or deploying code to production.

Contents
Introduction The goal of code reviewBe Your Code ReviewerCode Review Checklist for UiPath Code ReviewerImplementation Security and Data PrivacyReadabilityMaintainabilitySpeed and PerformanceScalabilityReusabilityExtensibility Download UiPath Code Review Checklist Conclusion

The feedback is usually given by colleagues, either other developers, a manager, or a tech lead.

In this article, I’ll aim to build your code review skills by suggesting the different elements you should consider when conducting one.

You can use this list as a checklist to go through when you’re reviewing code.

Let’s get started!

Introduction

Typically RPA developer opens a pull Request or he/she request a reviewer by creating/moving JIRA tickets to review the code by the Lead developer.

  • UiPath also provides the workflow analyser that performs the static code analyser and ensures that it follows the best practices.
  • However, it checks for inconsistency without actually executing the project, as opposed to dynamic analysers

“Workflow Analyzer uses a set of rules to check for various inconsistencies unrelated to project execution. The rules are based on Automation Best Practices and take into consideration variable and argument naming, empty sequences or workflows, package restrictions, and so on. The analyzer does not identify errors in execution or compilation.”

So keep in mind even if you perform Workflow Analyzer it still needs code review to be done by a peer developer or Team lead to ensure it’s ready for production use.

Read more details about Enforcing the Workflow Analyzer here.

The goal of code review

There are several benefits of performing code reviews, but each team can focus on a different matter. Typically, the purpose you can look for will be improving general code quality and reducing the number of bugs by sharing the knowledge of the author and reviewers. Also, developers will educate each other on how to write better code and understand business problems.

  • Provide better solutions
  • Early caught bugs
  • Improved overall code quality
  • Standardization of code rules and style
  • Two reviewers are better than one

Be Your Code Reviewer

First thing first; While reviewing the code, ask yourself the following basic questions:

  1. Are you able to understand the workflows easily?
  2. Is the workflow written following the coding standards/guidelines set by RPA COE?
  3. Are there more appropriate ways of performing the task(Using activities or Custom codes)?
  4. Is the same workflow duplicated more than twice?
  5. Is there sufficient logging done for each workflow milestones activity?
  6. Can I unit test / debug the code easy to find the root cause?

If you feel that the answer is not satisfactory to any of the above questions, then you can suggest/recommend code changes.

UiPath Code Review Checklist
UiPath Code Review Checklist

Code Review Checklist for UiPath Code Reviewer

The Code Review process, like any other process, can use some rules, especially in bigger and more complex projects. More developers in the team mean diverse experience and practices.

So it is the best practice that you should list and document the steps you follow during code review.

Here is a quick checklist you can rely upon by performing code reviews.

Implementation

  • Does this code change do what it is supposed to do?
  • Have the requirements been met?
  • Can this solution be more simplified?
  • Does this change add unwanted Uipath Package (UiPath or Third Party Supported) dependencies?
  • Is the Workflow modular enough?
  • Would you have solved the problem in a different way that is substantially better in terms of the code’s maintainability, readability, performance, security?
  • Does this code follow best practices and framework principles?
  • Does this code follow the Re-Framework or Template used by RPA COE?
  • Does this automation integrate with Third-party systems via API or Connectors?

Security and Data Privacy

  • Are authorization and authentication handled in the right way?
  • Our credentials are stored in the Credential store? Such as Orchestrator asset or Cyber arc
  • Is sensitive data like user data, credit card information securely handled and stored? Is the right encryption used?
  • Are shared folders used in automation have the right set of access controls?
  • Is data retrieved from external APIs or libraries checked accordingly?
  • Is there any PII related information logged in UiPath Orchastartor logs?
  • Is there Error screens captured with sensitive information?
  • Is the service account or Robot account has additional permission than Process SME?
  • How can we know what automation is used in the organization?

Readability

  • Is the UiPath workflow easy to understand?
  • Can the readability of the workflows be improved by smaller workflow xamls?
  • Are there redundant comments? Commenting on your code is fantastic; however, it can be overdone or just be plain redundant.
  • Is there any commented out code?
  • Are there deeply nested if-else or sequence blocks?
  • Are there pinned annotations or Comments at the top of each workflow, describing what the workflow is used for an explanation of each Argument to send In and Out?

Maintainability

  • Is Configuration is hard-coded?
  • Are all required configurable values are in (XML file, database table, Excel, txt ) so that no code changes are required?
  • Does it contribute to tech debt by increasing investment in a technology that the team wants to phase out? Such as the use of specific features of the old library?
  • Is workflow using pre-built RPA content provided by a third party? If any…are they supported by publishers?

Speed and Performance

  • Performance for users and resource consumption? Is there an activity using a high CPU?
  • When possible, code should use lazy loading and parallel processing
  • Use a data type that best suits the needs such as data tables, lists etc.
  • Is workflow using “for each”? Avoid doing it over a large no of records.
  • Use LINQ Queries. LINQ is commonly used to query arrays, data tables, dictionaries, lists, and XML. Arrays, dictionaries, and lists require no modifications or special treatment to act as a LINQ data source.

Scalability

  • Consider if it supports a large user transaction?
  • Consider if it supports Multi Bot architecture?

 

 

Reusability

  • Check that the workflow is written with likely future use-cases in mind
  • DRY (Do not Repeat Yourself) principle: The same workflow steps should not be repeated more than twice.
  • Is there are workflow that can be created as a Re-usable library ?

Extensibility 

  • Easy to add enhancements with minimal changes to the existing workflow

Download UiPath Code Review Checklist

UiPath Code Review Checklist Download

Conclusion

But most importantly, keep improving your code review checklist. The chances of you getting a perfect checklist the first time you build one are slim.

Find out which bugs have slipped through the review process and add the necessary checklist items to prevent them.

The above code review checklist is not exhaustive but provides a direction to the code reviewer to conduct effective code reviews and deliver good quality code.

Initially, it would take some time to review the code from various aspects. After a bit of practice, code reviewers can perform effective code reviews, without much effort and time.

If you would like to become an expert code reviewer, this code review checklist serves as a great starting point.

 

Happy Code Reviewing!

Sign Up For Daily Newsletter

Be keep up! Get the latest breaking news delivered straight to your inbox.

By signing up, you agree to our Terms of Use and acknowledge the data practices in our Privacy Policy. You may unsubscribe at any time.
Share This Article
Facebook Twitter LinkedIn Reddit Telegram Email Copy Link Print
What do you think?
Love0
Sad0
Happy0
Sleepy0
Angry0
Dead0
Wink0
By Satish Prasad
Follow:
Satish Prasad Holds a Master Degree(MCA) from NIT Kurukshetra. He has 8+ years of experience in Data analytics, Dataware house, ETL, Production support & Robotics Process Automation. In his assignments with multiple IT Firms, for the last 7+ years, he has contributed to various function in Investment Banking & Mutual Fund domain.
Previous Article Work Data Management break up a process into separate work items Working Example Using Robocorp Work Items | Definitive Guide
Next Article UiPath Integration Service –Platform Update 21.10 | Working ServiceNow Example
1 Comment 1 Comment
  • Ashutosh Pandey says:
    11/26/2021 at 4:27 pm

    Very well written article with important code review points.

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Want to learn more? 🚀

Robot Framework Python: Working with Databases
Robot Framework Python: Working with Databases
RPA
Ensuring
Ensuring RPA Security: Best Practices and Guidelines
RPA
Robotics Process Automation in Finance and Accounting
RPA Upscaling All Dynamics of the Healthcare Industry in 2023
RPA
Low-Code/No-Code Development Platforms: The Future of Software Development? 2
Low-Code/No-Code Development Platforms: The Future of Software Development?
RPA

💙 Subscribe to me on YouTube :)

👉 Stay Connected

Instagram Follow
Youtube Subscribe
Telegram Follow

Related Stories

Uncover the stories that related to the post!
CI CD Pipeline for UiPath
UiPathuipath tutorial

The Complete Guide to UiPath CI CD with Azure DevOps

Ultimate CICD pipelines using UiPath GitHub Actions and PowerShell
UiPathuipath tutorial

Ultimate CI/CD pipelines using UiPath GitHub Actions and PowerShell

SAP Automation Using UiPath | Step-by-Step 4
uipath tutorial

SAP Automation Using UiPath | Step-by-Step

Robotics Process Automation in Finance and Accounting
RPAuipath tutorial

Working with UiPath Test Automation

How to enable is Database Activities?
uipath tutorial

Working with Databases in UiPath | Step by Step Guide

Working with UiPath Queues | Step by Step Guide
uipath tutorial

UiPath Queues | Working Example Step by Step Guide

Step by step guide to Implement CI CD UiPath Using Jenkins Plugins
uipath tutorial

Implementing CI CD UiPath Using Jenkins Plugin

Entities in the Data Service UiPath
uipath tutorial

UiPath Data Service Entities | Step by Step Guide | 20.10

Show More
RPABOTS.WORLDRPABOTS.WORLD
Follow US
Disclosure: Posts on this site may contain affiliate links, meaning that if you click on one of the links and purchase an item, we may receive a commission (at no additional cost to you). All opinions are our own and we do not accept payments for positive reviews. All product names, logos, and brands are the property of their respective owners in the United States and/or other countries. All company, product and service names used on this website are for identification purposes only. Use of these names, logos, and brands does not imply endorsement.
Copyright © 2019 - 2023, RPABOTS.WORLD., unless otherwise noted. All rights reserved.
Join Us!

Subscribe to our newsletter and never miss our latest news, podcasts etc.

Zero spam, Unsubscribe at any time. Copyright © 2019 - 2023, RPABOTS.WORLD., unless otherwise noted. All rights reserved.
Welcome Back!

Sign in to your account

Lost your password?