I am in this situation where I have to review pull requests (PRs) from one of my colleagues, who has a very broad knowledge and years of experience, she is well respected and we all know that the quality of her results are very good.
However, from time to time, her PRs are just to complex for what we want to achieve, in my humble opinion and considering the sector we operate in.
We should imagine a PR that uses extremely advanced techniques to achieve something (e.g., zipping multiple stream, mapping objects to pairs on the fly, computing results based on left or right positions in them, generifying functions used in only 2 locations, or applying "crazy" SQL just to save 20 rows out of 250). We should also imagine that all of these objectives could have been done alternatively in some other form, for sure more basic, like for example streaming multiple times and holding the results in intermediate variables with nice names, or using 20 rows more in SQL but with a clearer intent.
I am able to follow them and I am able to test them, but I think that the effort to maintain them is just irrational. Additionally, I think that because of this huge intellectual work she puts in the code and because of its complexity, my colleagues also feel "castrated" when they have to review it (used figuratively, she may or may not be a woman).
I understand that if there is some security or performance related issue, then complexity is welcome, but most of the time it seems that the complexity is there just to show off and prevent the others to comment her work.
Would it be correct to comment one of this PR about the fact that advanced code is nice, but code maintainable and reviewable by the whole team without blowing your mind would be even better? Could I put a limit to the complexity that is introduced?
I am absolutely respectful of others' coding styles, and I pay attention to make sure that my comments could be identified as not very important, preferences, or something I expect is changed (a logical error, a bug, something serious). Here the problem is that the complexity seems gratuitous.