Creating a program to live review Appian code

Hi Community,

So I have been trying to figure out a program to live suggest code improvements while a programmer is working on an Appian code. I was hoping to implement this using Selenium or Java to directly read from the Chrome Script as the user is creating. 

For example, lets say the developer is editing an expression rule. The program will be running in the back end and analyzing the items on the screen. For starters, it needs to see if the user is viewing an expression rule. So it will look for the expression rule object icon. Having the program know that, it will know that it needs to search for test cases and comments to be added. So it will search for the test case icon and see if it has a 0 or anything other than 0. If it is 0 then it will maybe highlight or have some alert that will get user attention to remind them that their rule does not have an expression rule. If it has anything other than 0, then it will simply ignore it as it is not an issue. The system will also know that it needs to look for comments in the code. So it will look through the code on the left side and flag that part if there are no comments. And similarly, it will ignore if it does have comments.  

 My query is whether such a project is even feasible considering Appian's security policies and if so, has anyone worked on something similar and can give me a few pointers, and ideas to implement this?

  Discussion posts and replies are publicly visible

  • I've not heard of anything that conducts what I will call a "real-time Quality Review". I think there are a few things to consider:

    • how 'annoying' would it be for a developer to be continuously interrupted with "You've not added any comments", "You haven't added any Test Cases" etc? It might pay to consider taking the quality check to an off-line phase. Or, perhaps, expose the list of quality check items as a checklist that sits to one side of the object being developed, where the Developer can check them off manually (there may be good reasons why they've not done something that would otherwise be considered to be desirable/required - but even here I have reservations (see below)
    • you'd need the ability to allow individual Projects to both inherit 'best practices' from a single course, but also define their own 'Definition of Good' - that is, each Appian Application would need to be able to define what, say, the Dev Lead thinks should be their own 'Definition of Good' (a good example would be to ensure all objects have the same Application prefix for their name - this prefix will be different for every Application, but the same within the context of an Application)
    • I'm leaning to the idea of having this not in real-time for two reasons:
      •  it's definitely NOT good practice for a Developer to 'mark their own homework' - that is, if they can choose to override what's being suggested by the Quality Check tool then there is no independent 'Peer Review' step actually taking place
      • you'd want to run all of the Quality Checks as part of a 'Quality gateway' between DEV and the first TEST environment and this should be able to be injected into the Deployment pipeline and used to govern whether a Deployment is allowed to take place for a given Patch or full Application export.