Влияют ли имена переменных на производительность сайта? Я знаю, что это будет очень малое число, но все же может ли кто-нибудь указать причины, по которым не следует выбирать длинное имя переменной в аспекте производительности?
web-development
performance
naming
php
Авинаш
источник
источник
Ответы:
Майкл покрыл ответ (т.е. нет), но имена переменных влияют на производительность программиста . Если вы привлекаете нового разработчика или кого-то, кто не знаком с кодом, то наличие длинных и / или запутанных имен переменных может отвлекать и замедлять процесс понимания.
В общем, вы хотите использовать короткие, описательные имена переменных, потому что их легче читать. Представьте, что вам нужно игнорировать свой код в течение 10 лет, а затем снова все понять. Вы бы предпочли прочитать «getInput» или «getInputFromUserWhoInputsStringOrElseInformReaderOfError»? (преувеличение конечно: P)
Однако бывают случаи, когда более длинное имя может быть полезным. Например, getBirthdayInput () будет гораздо более информативным, чем getInput (). Вы хотите упростить до некоторой степени, но упрощение также может быть проблематичным.
источник
Нет, не будет. Вообще говоря, когда код компилируется, имена переменных заменяются адресом памяти, на который они ссылаются. Компьютеры ничего не знают о именах переменных; они только хотят знать, где хранятся значения.
Переменные являются символами, не более того. Они заменяют шестнадцатеричные значения именами, чтобы программистам было легче понять, что они делают. Таким образом, при выборе более коротких имен переменных повышение производительности не будет.
Тем не менее, вы можете получить незначительные (а я говорю о микроскопических) улучшения во время компиляции и первой интерпретации JIT, но это только потому, что синтаксический анализатор занимает несколько циклов ЦП, чтобы прочитать имя переменной. Это единовременная стоимость, и она статистически незначима, если беспокоиться о производительности.
источник
Если вы не используете кэш кода операции (также известный как «PHP-ускорители»), то это действительно имеет значение. Но это влияние настолько мало, что им можно пренебречь. Если вы используете кэш оп-кода, то влияние будет нулевым.
источник
Хотя Майкл подходит для разработки приложений, ваш вопрос касается веб-разработки на PHP, который является интерпретируемым языком. В таком случае код должен быть считан из файла, а затем интерпретирован. В этом случае более длинное имя переменной будет загружаться и анализироваться дольше.
Однако при этом производительность будет незначительной и, вероятно, будет составлять доли миллисекунды для всего сценария. Вы всегда можете попробовать его с помощью образца сценария и использовать метод синхронизации, такой как подробно описанный по адресу http://www.developerfusion.com/code/2058/determine-execution-time-in-php/, но, вероятно, это не так начните отсчет времени до того, как файл будет прочитан. Кроме того, время выполнения между повторными попытками будет значительно больше, чем разница между длинами имен переменных, поэтому вам потребуется выполнить значительное количество повторных попыток и взять среднее значение каждой из них, прежде чем вы сможете получить отдаленно значимое среднее.
Как указывает Блэкджек, более длинные имена могут быть намного сложнее для понимания, и для их набора требуется много дополнительных усилий (и они гораздо более подвержены опечаткам). Хотя прирост производительности может быть незначительным, это не оправдывает дополнительных хлопот, созданных для программиста. Как таковые, короткие, краткие и простые для понимания имена переменных являются предпочтительными.
Короче говоря, не беспокойтесь о имени переменной длины, а вместо этого сосредоточьтесь на написании чистого, значимого кода.
источник
Может быть :
Код сервера обычно компилируется, и длина имени переменной не влияет на него по указанным причинам. Однако, если имя переменной используется для построения разметки различных строковых операций. Поскольку HTTP-ответ (содержащий разметку / возвращенные json / возвращенные данные) больше, это займет немного больше времени, хотя разница будет незначительной. Если JavaScript не уменьшен, это будет файл большего размера, который займет больше времени для поездки к клиенту.
Помимо минимизации файлов JavaScript, любые усилия по оптимизации веб-приложения / веб-сайта будут лучше потрачены на другие аспекты.
источник
Да, будет, но не в том смысле, о котором вы думаете.
С плохими именами разработчиков, разработчики легко запутаются в исходном коде. Это будет трудно читать и трудно понять.
В конце концов, исходный код будет трудно поддерживать, и будет почти невозможно заставить его развиваться. Это неизбежно приведет к увеличению затрат на обслуживание, увеличению затрат на разработку, увеличению количества ошибок и снижению производительности .
Имя переменной не будет иметь абсолютно никакого влияния во время выполнения и совершенно незначительно во время компиляции. Но плохие имена неизбежно приведут к плохой производительности, потому что никто не понимает код, и это приводит к тому, что один за другим оказывается в стеке, что каждый раз ухудшает ситуацию.
Прочитайте их, чтобы узнать о хорошем имени переменной: http://tottinge.blogsome.com/meaningfulnames
Обратите внимание, что если вам нужно очень длинное имя переменной, это означает, что ваш код плохо спроектирован. Имя переменной всегда выражается в контексте: пространство имен, имя класса, имя файла, папка, имя функции и т. Д. Таким образом, если имя должно быть длинным, чтобы быть явным, это означает, что то, что вы пытаетесь назвать, ДАЕТ « Т ЧЕТ ЗДЕСЬ . В этом случае подумайте о размещении этого кода в соответствующем месте или создайте это место, если его еще нет.
источник
Ответ, очевидно, да, в отношении php.
Ответы, которые говорят, что это не будет иметь значения, не обязательно правильны. Например, у меня есть небольшой скрипт php, всего несколько строк, но он должен зацикливаться примерно 1 950 000 раз, прежде чем завершит свою работу, поэтому, хотя один запуск скрипта может не быть замечен, эти доли секунды существенно складываются, когда зацикливание много раз
источник
Вы можете использовать короткие имена, которые делают ваш код менее читабельным. Вы сэкономите микросекунду или две. Но поскольку код менее читабелен, его сложнее улучшить и сделать быстрее. Таким образом, ваш неуправляемый, неустранимый код с короткими именами в итоге будет работать значительно медленнее.
Итак, чтобы ответить на ваш вопрос («влияет ли это на производительность»): Да, но не так, как вам нравится.
источник