Skip to content

Commit

Permalink
p readme
Browse files Browse the repository at this point in the history
  • Loading branch information
RubenHalman committed Apr 14, 2024
1 parent ac23d1a commit 5519590
Showing 1 changed file with 2 additions and 19 deletions.
21 changes: 2 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ __*Analyze Salesforce Flows for optimization and ensure adherence to Industry Be
- [Usage](#usage)
- [Options](#options)
- [Examples](#examples)
- [Default Ruleset](#default-ruleset)
- [Configuration](#configuration)
- [Defining the severity per rule](#defining-the-severity-per-rule)
- [Specifying an exception](#specifying-an-exception)
Expand Down Expand Up @@ -40,6 +39,8 @@ npm install -g lightning-flow-scanner
sfdx flow:scan [options]
```

***To learn more about the default rules and options, see the [core documentation](https://lightning-flow-scanner.github.io/lightning-flow-scanner-core/).***

### Options

```sh-session
Expand Down Expand Up @@ -73,24 +74,6 @@ sfdx flow:scan --json
sfdx flow:scan --config path/to/.flow-scanner.json
```

## Default Ruleset
| Rule | Description |
|--------------|:-----------|
| **Outdated API Version** | Introducing newer API components may lead to unexpected issues with older versions of Flows, as they might not align with the underlying mechanics. Starting from API version 50.0, the 'Api Version' attribute has been readily available on the Flow Object. To ensure smooth operation and reduce discrepancies between API versions, it is strongly advised to regularly update and maintain them. |
| **Copy API Name** | Maintaining multiple elements with a similar name, like 'Copy_X_Of_Element,' can diminish the overall readability of your Flow. When copying and pasting these elements, it's crucial to remember to update the API name of the newly created copy. |
| **DML Statement In A Loop** | To prevent exceeding Apex governor limits, it is advisable to consolidate all your database operations, including record creation, updates, or deletions, at the conclusion of the flow. |
| **Duplicate DML Operation** | When the flow executes database changes or actions between two screens, it's important to prevent users from navigating back between screens. Failure to do so may result in duplicate database operations being performed within the flow. |
| **Hardcoded Id** | Avoid hard-coding IDs as they are org-specific. Instead, pass them into variables at the start of the flow. You can achieve this by utilizing merge fields in URL parameters or employing a Get Records element. |
| **Flow Naming Convention** | The readability of a flow is of utmost importance. Establishing a naming convention for the Flow Name significantly enhances findability, searchability, and maintains overall consistency. It is advisable to include at least a domain and a brief description of the actions carried out in the flow, for instance, 'Service_OrderFulfillment'. |
| **Missing Flow Description** | Descriptions play a vital role in documentation. We highly recommend including details about where they are used and their intended purpose. |
| **Missing Fault Path** | At times, a flow may fail to execute a configured operation as intended. By default, the flow displays an error message to the user and notifies the admin who created the flow via email. However, you can customize this behavior by incorporating a Fault Path. |
| **Missing Null Handler** | When a Get Records operation doesn't find any data, it returns null. To ensure data validation, utilize a decision element on the operation result variable to check for a non-null result. |
| **SOQL Query In A Loop** | To prevent exceeding Apex governor limits, it is advisable to consolidate all your SOQL queries at the conclusion of the flow. |
| **Unconnected Element** | Unconnected elements which are not being used by the Flow should be avoided to keep Flows efficient and maintainable. |
| **Unused Variable** | To maintain the efficiency and manageability of your Flow, it's advisable to avoid including unconnected variables that are not in use. |

**More information on the rules can be found in the [default ruleset documentation](https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/blob/master/docs/defaultrules.md).**

## Configuration

Create a .flow-scanner.json file in order to configure:
Expand Down

0 comments on commit 5519590

Please sign in to comment.