42
Views
6
Comments
How you do Code Review for your Peers work in Outsystems?

Hello all,

I wanted to know how you guys do code review for your peers works in Outsystems, I know about architecture dashboard and Outsystems best practices, but what I mean is like code cleanliness, following design pattern and etc. Do you notes it manually in each server action / screen? 

Thanks!

Rank: #329

Hi Kevin,

Hope you are doing well

In our project we do it manually maintaining in excel spreadsheet , like for x feature team mate A made changes in xyz screen action and added abc client action. and the lead reviews the updated code and provides feedback on code.

Regards,

Swapnil





mvp_badge
MVP
Rank: #43

Hi Kevin,

I've always seen code reviews as a people problem - the architecture dashboard and a list of best practices are great tools, but people problems are best solved with communication. Depending on how large a feature you're reviewing is, sometimes it's as simple as sitting down and having a chat with a peer in order to understand what was developed, and more importantly, why.

The flow I used in my last project was simple enough. When features were selected for development, they couldn't reach user testing until they were reviewed (in order to prevent users from accepting something that could potentially be refactored). Once a feature was ready for reviewing, at least one team member would be available to walk through what was developed, and we'd go over the extent of the feature.

I've tried to do it in the past like you mention - adding notes to problematic sections of modules, but I feel that this leads to a sense of "not my problem, someone else will fix it", especially in large teams and if your modules have multiple developers. By sitting down and talking with specific authors, you're adding a sense of accountability and responsibility to each developed feature. You can of course keep your own notes and double check the refactor results afterwards, but I feel that leaving TODO notes in modules is very easy to ignore. You can combine this with whatever tracking tools you use in order to get a feel of the current status (JIRA, for example), but in my experience, personally delivering feedback and letting specific authors take charge of refactors leads to better results.

Rank: #420

Hi Kevin,

Please try Architecture Dashboard where you can view all the issues related to code. Please see below link to get more details about Architecture Dashboard. I am sure this feature will help you. 

https://success.outsystems.com/Documentation/Architecture_Dashboard/Introduction_to_Architecture_Dashboard

Thanks & Regards,

Sachin


Rank: #403

I have tried different approaches, but on my latest project, we used the following:

Have on the Stories a field labeled "Solution" to record what the developer did and where she/he did it.

After finishing the development the person would write down her/his report without forgetting to state the full path(s) to the change(s) (eSpace > Screen/Action > ScreenAction > ...)

When the report was complete, the story would move to "Waiting for review" and another developer would pick up the "Do review" sub-task and move the story to "In Review".

If "issues" were found, the reviewer would create sub-tasks on the story and assigned those to the developer. Again, it was necessary to state where the "issue(s)" was/were found and, maybe, put some screenshots. If needed, the developer and the reviewer would do a meeting to clarify things and share ideas.

The advantages of this approach were: 

  • There is always, at least, two team members knowing why and how something was done.
  • There is more sharing of Outsystems knowledge between team members.
  • We could search in Jira for all stories that changed a screen/action.

It's important to state that having the solution in Jira wouldn't mean the code wouldn't have comments; in fact, part of the reviewer's task was to be sure the more complicated logic had the necessary comments.

I hope this helps!

Regards,

Ricardo

Rank: #1531

hi Kevin,

We add the changes done to the code in a Jira subtask like what espace, which action and what changes were done are maintained there and also we add comments in the code where changes are done and then the peer manually reviews the code following Outsystems best practices and also refers to the Jira subtask for the changes and has discussion with the person who made the changes if required.

Regards,

Shilpa Uppund

Champion
Rank: #40

As of now only manual process with the help of some tools like above shared by team members