С точки зрения читабельности, я бы определенно выбрал первый вариант.
Но если это часть некоторой логики, которая выполняется миллионы раз, и вы знаете, что распределение вероятностей для обоих x & y верно, а только x является истинным, или только y является истинным, предпочтение отдается одному изВо-вторых, вы можете пожертвовать удобочитаемостью ради производительности.Тем не менее, убедитесь, что вы профилировали, прежде чем переходить к подобным оптимизациям, и убедитесь, что вы документируете причину структурирования операторов if таким образом, чтобы другие разработчики не просто приходили и оказали вам услугу путем рефакторинга вашегокод.