見出し画像

【Salesforce】フローのレビューをやってみた

はじめに


こんにちは。SHIFTのカスタマーサクセス部 Salesforceグループ所属のホンマです。
先日、対応していた案件で「フローの実装レビューをしてほしい」とオーダーがありました。「実はあんまりフロー詳しくないんだよな…」と思いつつ、これを機に勉強してみました。 この記事では自分がレビューをする上で気を付けたことや気づきを紹介していきます。


フローとは


フローはSalesforceのローコード開発機能で、ドラッグアンドドロップで様々な処理を実装できます。
見た目のキャッチ―さも相まって、深く考えずとも処理が作れてしまいますが、無闇に実装してしまえば、処理が重くなってしまったり、余計な負担が環境にかかったりしてしまいます。
「動けばOK」ではなく、効率的に使えるフローになっているか、レビューしていきます。

レビューをする準備


まずは有識者にフローのレビューをするときに気を付けるべきことを相談。
開発案件の中で発生するレビューと言えばソースコードレビューですが、フローでも同様の観点でレビューが必要だということを再認識しました。(今回まとめた観点は後述)

更にネットの海にも頼れる情報が無いか調べたところ、Salesforce公式リファレンスに「Flow Builder での成功の計画 」というページがありました。
本来であればフローを作る前に確認しておくべき部分ですが、 裏を返せば、これを守れているかどうかで良いフローかが分かるということです。
これらの集めた情報を参考に、今回のレビューに使用した観点を以下に抜粋しました。

  • 要件を満たしているか

  • 命名規則に沿ったフロー名、要素名、変数名になっているか

  • 例外処理が実装されているか

  • フローのガバナ制限を回避できているか

  • 共通化できる処理が無いか

  • Sandbox固有のIDやURLを使用していないか

  • (画面フロー)値を入力する箇所で項目自体の桁数制限や入力規則を考慮しているか

  • (画面フロー)画面要素に余計な項目ボタンが配置されてないか

  • (画面フロー)レコード編集で失敗した場合、ロールバック要素を入れるなどの考慮がなされているか

さて、準備は整ったので、レビューをしましょう。

レビューをしてみたら


今回のレビューで特に気になったところをピックアップしました。

命名規則に遵守していない

案件にもよると思いますが、指摘の中で一番多いものは命名規則に沿っていない要素名・API名の指摘でした。
事前に命名規則の資料は作業者に提示していたものの、うっかりミスだけでなく、「検証としてとりあえず作成したものを、そのまま実装フローとして転用した際に、命名規則に則っていないものが残ってしまった」ことが主な原因でした。

Salesforceの開発あるあるだと思うのですが、「とりあえず見た目だけでもお客さんに提示するために、お試しで開発をする(モック)」ことは避けられません。 その方がユーザにとってイメージがしやすく、認識相違が減るため有効な手段と思いますが、あとから名前を修正するのはなかなかハードです。

モックの段階でも、ある程度命名規則に沿うように実装することが指摘が減るポイントです。

不要な項目の取得

レコードの取得では取得条件の指定はするが、取得対象の項目を指定していないパターンが多かったです。

当然、取得レコードの全項目の値を取ってくることは可能ですが、取得する情報が大きくなるほど処理が重くなってしまい、エラーを出す可能性があります。

軽い処理だし大丈夫と思っていても、どこでつまづくかは分からないので、項目は最低限取得するよう指摘を入れました。

ロールバック処理を入れる(画面フロー限定)

レビューをするまで、この要素自体、認識していなかったのですが、フローでもDML処理に失敗した場合にロールバックができるように、ロールバック要素がありました。使い方は下記リンクをご参照ください。

実行時にフロー要素が失敗したときに待機中のレコード変更をロールバック

DML処理がフローの中で失敗した場合、エラーメールが開発者のところまで届いたり、ユーザの画面上は特に変化が無いまま、成功or失敗がユーザに分からない可能性もありました。 この処理を入れることで、明示的に失敗したことが分かるようになれば、操作のミスも減るので、今後積極的に取り入れたいですね。

おわりに


この案件では私自身も数本フローを作成しましたが、「作るとき」と「レビューするとき」とではフローの見え方が全く変わるなと実感しました。 作ったときは「これでOK!」と思っていても、レビューで初歩的なミスの指摘がありました。

また、レビューをすることで、フローの技術的な部分を知ることも出来たので、「教育」の面においても、フローのレビューは取り入れるようにしましょう。

フローはアップデートが多い機能の一つでもありますので、レビューする際は必ず最新情報を確認することをお勧めします。


執筆者プロフィール :  ホンマ
SHIFT入社月:2023年1月
Salesforce歴:2019年夏~
Trailblazerランク:Ranger
認定資格:アドミニストレーター、Platformアプリケーションビルダー

お問合せはお気軽に
https://service.shiftinc.jp/contact/

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/

PHOTO:Unsplasheskay lim