Best way to conduct code reviews?

In most software development projects, code is stored in Git, and code reviews can be easily conducted in a lightweight fashion using GitHub pull requests.


With Appian there is no easy or intuitive way to do this. The only way to review code (that we have found) is to review the object in its totality. For expressions and interfaces you can manually comb through the Version history, pick out the prior definition, and run it through a text diff tool locally, but this is tedious, and doesn't allow collaboration as easily. For process models, it is impossible, which is another reason we try to make our models as small as possible and do everything in SAIL.

 

Has anyone built a tool for enabling efficient and collaborative code reviews, or is this just generally accepted as a limitation of the Appian product and an impediment to generating high quality code?

  Discussion posts and replies are publicly visible

Parents
  • We have an extensive checklist that we follow for Appian Objects namely,

    |All new objects adhere to naming conventions| | |
    |The story has been unit tested| | |
    |UI adheres to style guide| | |
    |The Closing template has been adequately filled out| | |
    |Release Notes contain all relevant technical changes| | |
    |Test cases have been created / Updated| | |
    |Regression Tests have been brought forward| | |
    |All new or modified objects have been logged in the release tracker| | |
    |Ticket Application has been created and object match the release tracker| | |
    |Any relevant deployment information has been logged in the release tracker including scripts| | |
    |*Process Models*| | |
    |unique identifier is included in the process model display name| | |
    |Process flows are optimized and easy to understand| | |
    |Security has been set on all process models| | |
    |Alerts are properly set| | |
    |All updates have been logged in process model annotations| | |
    |*SAIL*| | |
    |SAIL contains no unused/duplicate variables| | |
    |SAIL performs to standard| | |
    |Reusable logic has been broken out into expression rules| | |
    |*Database*| | |
    |All new or modified SQL statements have been pull requested in GIT| | |
    |Any newly created CDTs do not duplicate a previously existing CDT name| | |
    |All SQL statements have been logged in the release tracker| | |
    |Pull request has been merged in GIT| | |
    |Scripts have the proper script ending| | |
Reply
  • We have an extensive checklist that we follow for Appian Objects namely,

    |All new objects adhere to naming conventions| | |
    |The story has been unit tested| | |
    |UI adheres to style guide| | |
    |The Closing template has been adequately filled out| | |
    |Release Notes contain all relevant technical changes| | |
    |Test cases have been created / Updated| | |
    |Regression Tests have been brought forward| | |
    |All new or modified objects have been logged in the release tracker| | |
    |Ticket Application has been created and object match the release tracker| | |
    |Any relevant deployment information has been logged in the release tracker including scripts| | |
    |*Process Models*| | |
    |unique identifier is included in the process model display name| | |
    |Process flows are optimized and easy to understand| | |
    |Security has been set on all process models| | |
    |Alerts are properly set| | |
    |All updates have been logged in process model annotations| | |
    |*SAIL*| | |
    |SAIL contains no unused/duplicate variables| | |
    |SAIL performs to standard| | |
    |Reusable logic has been broken out into expression rules| | |
    |*Database*| | |
    |All new or modified SQL statements have been pull requested in GIT| | |
    |Any newly created CDTs do not duplicate a previously existing CDT name| | |
    |All SQL statements have been logged in the release tracker| | |
    |Pull request has been merged in GIT| | |
    |Scripts have the proper script ending| | |
Children
No Data