Рассмотрим рефакторинг.Вы можете поместить подвыражения в их собственные функции, указав таким образом их назначение.
Например:
if (IsCentered(center) && IsInsideLower(y, j, i) && IsInsideUpper(y, j, i))
regenerateDot(i + 1, j, dots);
Обратите внимание, что в приведенном выше примере имена функций могут быть поддельными (я недействительно пытался понять, какова цель кода), но вы должны понять.