Одна из проблем у многих новичков в программировании — называют переменные как попало. Или буквами, вроде a, b, c, или olololo, abababababa1111, lukashenko. Это очень мешает в будущем.
Lukashenko — это реальный случай из практики. Один из учеников так назвал переменную потому, что для него Александр Григорьевич Лукашенко это смешной усатый дядька из мемов на Ютьюбе, он ему очень нравится. Почему я так хорошо запомнил? Да потому что на этой переменной он тогда и понял, почему как попало не надо называть переменные.
Назвал переменную как попало? Ничего теперь не понимаешь
Многие ученики отказываются называть переменные понятно — зачем? Всё ведь и так понятно. «Я и так помню, что abobusaaaaaa у меня сумма очков, а vvvvvvvvv это количество участников». И пока переменных немного и код небольшой так и есть.
Но когда код уже разрастается строк до 100 и переменных становится больше 10, то в голове они уже не удерживаются, да и если прервёшься на неделю — уже придётся вспоминать, что такое твоё asdasdasdasdasdasd, что это переменная означает.
Это и произошло с проектом хохмача, любителя Александра Григорьевича. Он запутался в коде, а потом пришёл я и тоже запутался в его коде. Вот что значит
abubububu = 23
?
То ли дело
summa = 23
Тут и без программирования понятно: сумма равна 23. Кого-то или чего-то 23. В общем, в итоге ученик-хохмач очень сильно расстроился от того, сколько нам пришлось возиться, и начал называть переменные понятно.
А как правильно называть переменные?
Переменные используют для временного хранения данных. Вот и подумайте, как назвать данные, которые будут храниться в этой переменной? Например, «Сумма очков игрока» — хорошо, переводите это на английский и используйте. Получается переменная playerScore или player_score. Да, или через нижнее подчёркивания или каждое новое из слов, кроме первого, с большой буквы(это верблюжий регистр называется).
Не владеете английским? Ну, тогда используйте переводчик. В крайнем случае, лучше назвать транслитом, чем как попало: summa_ochkov_igroka. Всё равно понятно. Но лучше всё же переводить и постепенно заучивать английские слова, ибо без английского какое программирование.
Ещё момент — чем короче название переменной, тем лучше, если это не в ущерб понятности. Понимание, как это делать, приходит со временем, с практикой.
«А я смотрел код профессиональных проектов, в том числе Linux — там как попало часто переменные названы»
Верно, так и есть. Потому что на практике оформлять код полностью красиво и понятно не получается, часто там какие-нибудь переменные p могут встречаться. Что за p? Попробуй пойми.
Но это не отменяет того, что нужно стараться оформлять код как насколько это можно понятно. Просто разные принципы и концепции, касающиеся оформления кода — это некий идеал, к которому нужно стремиться. Чем ближе твой проект к идеалу — тем проще и приятнее тебе будет работать с ним в дальнейшем, меньше трудностей и неожиданностей он потом принесёт.
На 100% соответствовать «идеальному коду» часто невозможно просто из-за отсутствия времени на это. Часто на практике, в реальном проекте, разные концепции идеальности кода просто друг другу противоречат.
Ещё бывает, что однобуквенные названия переменных адекватны. Например, есть какие-то координаты и переменные, в которых они хранятся, называются x и y. Почему бы и нет? Они и в математике так обозначаются. Часто переменную, в которой хранятся индексы массива, называют не index, а i — тут всем профессиональным программистам всё понятно. В каких-то проектах могут быть свои договорённости.
И тем не менее, ещё раз — чем ближе к «идеалу» код, тем проще с ним будет потом работать.
ДЛЯ ДОНАТОВ
https://yoomoney.ru/to/410012316866358
https://donate.stream/vrom1990
или на карту
5599 0020 1940 9582
Ссылочки на меня:
https://zen.yandex.ru/id/vrom1990