Нет ничего хуже таких выражений в незнакомом коде. В чем проблема добавить пару булевых переменных и сделать его более осмысленным. Например вместо
if (x!=j && is_action_avaible(x, y) && action_type != prev_action_type)
Лично мне на всех сайтах поиска работы не хватает поля «Интересные направления работы». Объясню, я занимаюсь разработкой игр, и только это в данный момент мне интересно. Я бы хотел чтобы мне писали только те компании, которые имеют отношение к интересующему мне направлению. Может сделаете такое поле?
Да, они у меня регулярно грязные и протираю я их перед каждым выездом — такая у нас тут погода. Но это не относится к делу. Я имею ввиду что у нас тоже стали требовать чистых номеров, на своем месте и чтобы все по правилам.
if (x!=j && is_action_avaible(x, y) && action_type != prev_action_type)
const bool is_field_free = x!=j;
const bool is_current_action_valid = is_action_avaible(x, y);
const bool is_this_new_action = action_type != prev_action_type;
if (is_field_free && is_current_action_valid && is_this_new_action) {
}
Такой код будет доступнее для понимания, более приближен к человеческому языку и в перспективе лишен таких вот ошибок.
И тем не менее систематически на встречи опаздывают только «пид$расы».