Я хотел бы знать, есть ли какие-либо существенные недостатки при создании временной переменной для значения, к которому обращаются несколько раз в пределах небольшой области.
например:
filep->waypt[rp->leg[j]].ID
или
(*(filep->route + filep->nroutes - 1))->number
Это примеры из недавнего проекта, в котором я заставлял себя избегать почти любых упрощений для переменных ссылок, чтобы улучшить свои навыки с помощью указателей Си (это было больно). Тем не менее, привычка, казалось, сохранилась. Я обнаружил, что чем больше я пытаюсь ввести переменные, чтобы упростить мой код (удобочитаемость и объем ввода), тем сложнее становится точно вспомнить, на что ссылается каждая новая переменная.
Я только когда-либо проверял свой код в образовательных учреждениях, и я хотел бы знать, что другим легче переварить и где компромиссы производительности (если таковые имеются).
Когда для присвоения значения, чей адрес в памяти, потребовалось бы несколько арифметических операций для вычисления начала собственной переменной, что привело бы к проблемам с производительностью? Будет ли это иметь значение, если сделать это один раз в цикле? Как насчет один раз во вложенном цикле? Как насчет значения, присвоенного его собственной переменной в цикле, но затем доступного во внутреннем цикле?
Как это изменится в интерпретируемом языке?
Скажите в PHP (извините за синтаксические ошибки, я новичок в PHP):
$employees[$i][$phone]['Home']['number'];
против
$home = $employees[$i][$phone]['Home']['number'];
И, наконец, если это не слишком субъективно (читабельность кода не должно быть!), Что считается лучшим методом написания читаемого кода? Я пишу код, максимально самодокументируемый, но если переменные начинают становиться слишком надуманными и на них ссылаются несколько раз, я назначу им их собственную переменную. Однако причина, по которой это работает для меня, может заключаться в том, что я привык к своему стилю.