When you work alone and create code that your colleagues consider ugly and unmanageable and needs to be rewritten, follow these steps:
(a) agree with them when you look at him a second time,
(b) disagree?
If (a), then the problem is that at your discretion, you do not fully specify your code when you write it. Since pair programming is the only thing that forces you to write decent code, I suggest that I recommend that the "weird one" should work on tasks that are not related to writing long paths with bad code: bug-hunting; perhaps by writing test code, as this tends to be a little less cruel. In the meantime, working to improve your writing skills for the best code may possibly conduct several reviews of your own code several times and take notes on what's wrong with it.
If (b), then the problem is you have incompatible ways of expressing your ideas. The code may not be bad by your standards, but it is mutually incomprehensible, which in corporate settings means bad code. Pair programming means what you write is a trade-off that 2 out of 3 you understand, but it's not really a solution. You need to come to a few mutual agreements about what you find the most difficult with respect to each other's code, and stop doing this. And you all urgently need to think about the "quality of the code" in terms of "my two colleagues will like this code," rather than "I like this code."
In any case, you all need to work on writing code for the purpose of reading, and not for the purpose of working immediately, as soon as you can. Personally, I did this, trying to express things the way I think that other people can express and understand them, and not just what makes sense to me at that time. In the end, it becomes familiar. When I write code, I write it for a public audience, just like I write this post for a public audience. Well, that’s why on my personal projects it’s an audience of people who also love me, while at work it’s an audience that thinks like my colleagues. But the principle is to write code as if someone is reading it. You explain yourself to them, not to the compiler.
Not that my code was the best in the world, but I think that I won that my first job was in a company with 30 strange programmers, so I saw a wide range of ways to think about things. There are also some examples of “what not to do”, where one programmer did something that no one could easily understand, and therefore it can finally be said that this is bad. With only 3 people, it is unclear whether the difference of opinion means 2 v. 1, that 1 is a freak or a sensible minority. When I did something, and 4 or 5 people could look at it and immediately say “eeew, do not do this,” then I began to truly believe that it was just a stupid idea in the first place.
I would also recommend if you are not allowed to schedule code review, lie and cheat. If you strongly rewrite the code of another user, you still do not waste time reviewing it, you simply do not provide feedback, which is an important part of the code review. So go through the review under the radar - write a function or three, then ask a colleague to look at it and give you instant feedback on whether this makes sense to them. This helps to conduct a conversation, as soon as you do this, with the code on the monitor, but try not to interrupt people when they have a "stream", or are drawn into long arguments. This is not a programming pair, and this is not a formal code review, but it can help you understand what you are doing on your own, which is so bad.