I took a brief hour and reviewed some PRs in https://github.com/CPFL/Autoware/pulls from the last couple of months. I’ve noticed some good things and would like to commend you for:
- PRs are getting reviewed. Still too little time spent on the reviews but it seems that at least 1 person looks through them.
- CI is being ran and I have not found an instance where it would be abused.
- We have 20 functions with tests.
Now the bad:
Someone (e.g. @kfunaoka?) needs to become an ultimate gate keeper. None of the PRs can be merged without his approval. What he should be then strictly looking for:
- Is code tested? There is still less that 1 percentile (not even a percent) covered with tests: https://servandogs.gitlab.io/Autoware/.
- Is code documented? Better also implement a CI check for it. Autoware.Auto already has it.
- Is PR thoroughly reviewed? E.g. if there is 82 files changed in the PR, there can not be only 25 total comments. Also all discussions on the PR must be answered and resolved before the PR can be merged. Don’t just ignore questions.
- Developers do not know C++. If you look at this question and answer it is clear that we do not have enough expertise to develop a code that is supposed to be running in a car: https://github.com/CPFL/Autoware/pull/1943#discussion_r252741783.
- Someone (e.g. @aohsato @kosuke) must be watching over the architecture For instance a PR like this https://github.com/CPFL/Autoware/pull/1943 where a publisher has been added into many, many nodes can break down the whole system because additional traffic has been added
- We keep forking code from ROS core and importing into Autoware: https://github.com/CPFL/Autoware/pull/1791/files. In this case there are parts of rosbag.
- This PR has introduced 156 files!!! changed in Autoware: https://github.com/CPFL/Autoware/pull/1950. Could some user possibly with the confidence be updating their develop branch if they saw such a big change?
- All new features in release 1.9.0 https://github.com/CPFL/Autoware/releases/tag/1.9.0 have no tests and no documentation.
- Features like this https://github.com/CPFL/Autoware/pull/1950 should be clearly marked as experimental and go possibly into a separate folder (called e.g. experimental)
- There are currently 238 opened issues and 68 opened PRs. Someone (e.g. @kfunaoka?) should go through and clean them up a bit?