You are viewing a single comment's thread from:

RE: I need feedback from you about the new moderation guidelines for the development category!

Nice improvement on the guidelines.
Here is a little feedback compared to utopian V2:

  • Commits message are irrelevant for us because the pull request is squashed and merged into the develop branch. The Pull request also needs to be rebased from the develop branch which can result in a single commit in the pull request. This is done because the pull request has to contain only the files modified by the author. That way the review of the code is easier when the development is done by a team.

  • To be sure that we know who did what, all the functions must be commented and have the author.

  • About testing the code there are different way to do this and sometimes unit tests are not enough and integration tests or end to end tests can be provided too.
    For example on the V2 we don't do unit tests for the API but integration tests. But for the frontend we will do unit tests and end to end tests

We also try to provide a coverage that is above 50%. This could be added to the guideline.

Sort:  

I guess there will always be exceptions to the guidelines, so I think they are just meant as a helping hand, and if things aren't applicable, then use common sense. I'll definitely adjust the unit test bit to be more generalised for all kinds of tests (like the ones you mentioned).

Do you have an idea on how we can use objective metrics to determine the significance of a contribution? It's pretty important, especially now that they've removed the amount of work as part of the score, since it will probably have the biggest influence on a contributor's final score.

I don't think it's possible to have objective metrics because the context of the development is crucial.
Let's take 2 examples:

  1. A text input is added to a form to add a piece of information

    • It doesn't look like much, but to validate this addition, the developer had:
      • to modify multiple files in the front (preview cards, details page, edit form, ...)
      • to update the database model and may be write migration scripts
      • to update the api because it's a micro service architecture
      • to write tests because the project requires it
      • to update the admin website
  2. Add an error logger in the backend

    • This looks complicated, may be not, it depends what is the tech stack, etc. To do this the developer had to:
      • create a little plugin and do a bit java aspect programming. So really fast thanks to the architecture of the project

In case 1, the added information is in fact buried in the website and it's barely used. But it required a ton of work because the project is huge and complicated
In case 2, it's a vital part of the system but it required very little work.

But from an external point of view case 1 seems really important like case 2 not so much if we don't really know or understand the context.

Imho, it should be the project owner decision. He's the only one truly capable of judging the impact of the added feature.

I agree that it's not really possible but that's what they are asking, haha. Since we have to review the contributions and give them a score, we can't really leave it to the project owners to decide the significance (obviously if it's a task request, then yes). I also think it's easier to judge the amount of work it would take for an average developer to complete something, than it is to rate the significance.

Let me put it this way: what do you think we should put the most emphasis on when scoring a contribution and why? Currently it's the amount of work, the significance and the quality of the code. I think they want to remove the question about the amount of work as I've mentioned before, and since it's not really possible to judge the significance with objective metrics, all it leaves is the quality of the code.

All of this has left me pretty confused, to be honest. I'll guess I'll ask during the weekly tomorrow and see what they have to say - maybe that will clarify a few things.

To be sure that we know who did what, all the functions must be commented and have the author.

woot