Automation Anywhere

Automation Anywhere

關閉內容

內容

開啟內容

機器人設計指導方針及標準

  • 已更新:5/10/2019
    • 11.3.x
    • 探索
    • Enterprise

機器人設計指導方針及標準

機器人開發進階指南,提供有關機器人開發的指導方針及標準。

本主題簡要介紹通用的機器人設計指導方針及標準。避免文中所述的常見錯誤並將以下流程與考量事項納入您的機器人設計標準,建立簡明、易讀、易於測試、易於維護且穩定的機器人。大多數指導方針皆可提高生產資源的使用效率或減少維護時間及錯誤。

機器人設計考量事項

  • 最佳實務

    一般而言,Automation Anywhere 任務機器人應保持在 500 行程式碼以內,最好只有幾百行。

  • 拆分流程:超大型業務流程 > 超大型機器人

    業務流程機器人開發成功的關鍵在於定義完善、考慮周詳的策略。如果業務流程相當龐大,需要的子任務超過 8 到 10 個,或者任一項任務包含數千行程式碼,即應重新思考該流程的機器人方法。

    評估您的業務流程。建立相關的機器人方法時,請考慮以下幾點。

    • 業務流程本身是否能夠簡化?識別任何多餘或循環的步驟。

    • 識別流程中包含的邏輯性中斷或拆分情況。

    • 業務流程的各部分是否能拆分為單獨的機器人

  • 減少重複

    切勿重複自身原則 (DRY) 和三分法,兩者基本上都表示減少重複。

    建立僅含單次呼叫的迴圈,而非個別呼叫少量相同的步驟。

    視情況適當使用變數。

    將重複的邏輯片段或命令拆分為子任務。如果任務中多次重複某一組命令,將會造成難以維護的情形。該任務一旦需要更新,就必須找出所有實例並正確更新。

  • 規劃維護

    若編寫至一組重複任務中的某項規則已變更,程式碼維護人員就必須在該項規則出現的所有位置加以正確更改。此一過程很容易出錯,通常會導致問題。

    將整組命令和規則集中於一處。若整組命令或規則僅存在一處,即可輕鬆地於該處進行更改。

  • 測試導向設計

    較小型任務可以透過單元測試的方式,輕鬆地單獨進行測試。無相依項目的任務則可使用自動執行的測試。即使任務僅在序列的開頭處執行一次,將任務按照個別功能拆分為子任務仍可提高測試的簡易性更利於維護。

  • 網路故障處理

    在建立依賴網路連線的機器人時,務必包含可適當處理網路延遲的步驟。例如,當機器人開啟 [另存新檔] 對話方塊而需要網頁回應時,網路發生中斷的情形。您希望機器人採取什麼動作?重試或結束並顯示訊息?

子任務概觀

子任務是由需要服務的上層任務呼叫。子任務又稱為協助程式任務或公用程式任務,因為其唯一用途就是協助呼叫端任務。

提示:

子任務應該規模小而專精,僅承擔單一職責或少數幾項職責。

個別的任務不應共用 Excel 工作階段、CSV/文字檔工作階段和瀏覽器工作階段 (Web Recorder)。因此,應注意納入子任務的方式,使其不致中斷上述工作階段。

優點包括:

  • 生產任務程式碼較為簡短。

  • 必須進行變更時,只需要找出子任務進行分析並編輯。這可簡化機器人的維護工作。

  • 盡可能讓子任務可重複使用。

    若子任務建構得當,即可一再重複使用,進而發揮更高生產力。子任務可由任意數目的其他任務呼叫,包括其他機器人

  • 盡可能讓子任務可獨立運作。

    子任務並非完全獨立運作,其本身無法單獨執行。子任務應由上層任務呼叫,但也要盡可能消除與其他任務的相依性。

子任務考量事項

  • 單一職責原則

    每項子任務承擔一項任務或職責。

    雖然將大型任務拆分為多個子任務非常實用,但將所有類似相關的小型任務整併為單一子任務,仍容易導致維護出錯。對某項小型任務進行變更可能會影響到該大型子任務中所包含的其他小型任務。

    較適當的做法是讓多項子任務各司其職,負責特定單一用途。例如,假設某項大型子任務要處理列印 PDF、移動檔案和儲存檔案的工作,則將其拆分為三項子任務。每項子任務各司其職:其一負責列印 PDF,其二負責移動檔案,其三負責儲存檔案。

  • 相依性脫鉤

    定義子任務時,盡可能使其無須由呼叫端任務提供資訊。所需的資訊即屬於一種相依性。識別相依性並將其納入子任務中。如此可使子任務本身獨立運作,能夠進行單元測試,並讓其他任務無須增加相依性即可呼叫該項子任務。

    例如,若一定要由呼叫端任務提供 URL 才能呼叫登入子任務,即表示兩者具有相依性。呼叫該子任務的所有上層任務都必須提供 URL。URL 一旦變更,就需要變更多項任務。如果登入子任務本身包含 URL,即表示已與上層任務脫鉤。URL 一旦變更,則只需要更新一項子任務。

  • 雙向相依性

    如果需要藉著變更呼叫端任務才能更改子任務,即表示彼此之間具有相依性,而並未真正脫鉤。如果需要變更所有子任務才能更改呼叫端任務,即表示彼此之間並未真正脫鉤,而具有雙向相依性。這類交織的相依性會使得單元測試幾乎無法進行。

  • 避免子任務數目過多

    儘管上述所有原則都是設計機器人的絕佳原則,但子任務數目過多也容易導致難以維護並產生混淆。子任務數目必須在可管理的範圍內。

    機器人有 30 項子任務,或者未使用子任務卻有數千行程式碼,即表示業務流程可能過於龐大,不適合由單一機器人處理。大型流程應拆分成數個片段,然後將各個獨立的片段封裝到自己的機器人之中。

子任務範例

例如,假設機器人需要將記事本文件列印成 PDF 檔案。此任務可能如下所示:

將記事本列印成 PDF 檔案。

在此範例中,需要將檔案列印成 PDF 文件三次。在範例開發用電腦上的 PDF 列印驅動程式名為 Pdf995

建議事項:

  • 由於生產環境所用的 PDF 列印驅動程式可能使用不同的名稱,因此,請查明是否適合使用變數。

  • 由於這項任務可能會提升到生產環境,並且可能重複數次,因此建議您將其轉換為子任務。

範例改由子任務執行:

由協助程式任務建立 PDF 檔案。

若必須對這組特定命令進行任何變更,僅需編輯此協助程式任務,而且只需要重新測試此協助程式任務。

傳送意見反饋