В то время как я изучал основы программирования в старшей школе, меня учили, как решать проблемы: сортировать массив, переворачивать строку, преобразовывать римские цифры в арабские и т. Д. От меня никогда не ожидалось написать код, который будет изменен или проверено другим человеком. Обычно этого было достаточно, чтобы код работал и возвращал правильный вывод для заданного ввода.

Несколько лет спустя начались мои университетские дни. Я изучал математику и CS, и на моем первом экзамене по CS я выполнил все задания, я протестировал их, и они сработали, так что я ожидал своего первого пятерки. Но я получил «Б.». Я побежал в кабинет своего доцента, чтобы сказать ему, что он совершил ошибку.

- Я подошел к нему, весь уверенный, и сказал: «Я видел результаты экзамена и думаю, вы ошиблись. Я уверен, что мой код работает должным образом ».

- «Да, есть», - ответил он.

- «Так почему же тогда я получил четверку?»

- «Потому что мне потребовалось 60 минут, чтобы понять, почему это сработало».

А почему, спросите вы ?! Что ж, самое длинное имя переменной в моем коде состояло из двух символов, и его имя было s1. В тот момент я понял, что с того дня мой код будут читать другие, поэтому я начал его комментировать.

Как видите, я кое-чему научился на собственном горьком опыте, но вам необязательно.

Начнем с самого начала. Зачем нам нужно, чтобы имя переменной было длиннее одного символа? Потому что обычно через год код, который вы пишете профессионально, будет читать кто-то другой или, что еще хуже, вы. Может, пока ты это пишешь, тебе все ясно. Но это не потому, что ваш код ясен и легок для понимания, а потому, что вы его только что написали.

Всякий раз, когда вы чувствуете желание добавить комментарий к объявлению переменной, подумайте о том, чтобы дать вашей переменной более информативное имя. Основная проблема с комментарием, описывающим вашу переменную, заключается в том, что она будет в одном месте вашего кода, а ваша переменная будет в нескольких местах. Разработчику, который позже будет читать ваш код, потребуется постоянно преобразовывать vn в variableName в уме, пытаясь понять код.

Не ожидайте, что присвоение вашим переменным более длинных имен автоматически улучшит ваш код. Именование сложно, и вам понадобится гораздо больше времени, чтобы найти подходящее имя для вашей переменной, чем написать комментарий.

«В информатике есть только две сложные вещи: инвалидация кеша и именование вещей». - Фил Карлтон

Вот некоторые из основных принципов, которым следует следовать при именовании переменных:

  • Используйте произносимые имена для всех переменных. dayMonthYear - гораздо лучшее имя, чем ddmmyyyy.
  • Имя должно указывать на то, что делает объект, а не на то, как он это делает.
  • Имена должны быть значимыми в своем контексте. name - очень хорошее имя переменной внутри класса User.
  • Быть последовательным. У большинства слов есть синонимы. Выберите один и используйте его в своем проекте.
  • Используйте как можно более короткое, но достаточно информативное имя. Используйте birthday вместо dateOnWhichUserIsBorn.
  • Не используйте отрицательную логику для имени вашей переменной. Используйте isEnabled вместо isNotEnabled.
  • Если у вас есть две переменные, которые отличаются только числом, немедленно реорганизуйте код.

В некоторых случаях переменные могут и должны иметь короткие имена.

  • Если переменная представляет собой счетчик циклов, ее имя должно быть i или j для внутреннего цикла.
  • В функции, где аргументы традиционно имеют имя из одного символа.
  • Иногда очень сложно объяснить назначение переменной внутри ее имени, и в этом случае вам нужно написать комментарий.

Когда вы пишете свой код, самое важное, что нужно иметь в виду, - это то, что вы пишете свой код, прежде всего, для понимания людьми, а во-вторых, для интерпретации машиной. Поэтому, когда ваш код работает и делает то, для чего предназначен, потратьте пару минут и сделайте его более понятным для людей.

Спасибо за внимание! Если вам понравилась эта история, пожалуйста, нажмите 👏 кнопку и поделитесь, чтобы помочь другим найти ее! Не стесняйтесь оставлять комментарии 💬 ниже.
Хотите оставить отзыв? Давай дружить в Твиттере.