вторник, 23 мая 2017 г.

Избыточные переменные - чистое зло

Избыточная переменная - это та, которая существует исключительно для объяснения ее значения. Я твердо верю, что такая переменная - это не только чистый шум, но и зло, что очень негативно сказывается на читабельности кода. Когда мы вводим избыточную переменную, мы намерены сделать наш код более чистым и более удобным для чтения. В действительности, однако, мы делаем его более многословным и трудным для понимания. Без исключения любая переменная, используемая только один раз, является избыточной и должна быть заменена значением.

Здесь переменная fileName является избыточной:
String fileName = "test.txt";
print("Length is " + new File(fileName).length());
Этот код должен выглядеть по-другому:

print("Length is " + new File("test.txt").length());

Этот пример очень примитивен, но я уверен, что вы видели эти избыточные переменные много раз. Мы используем их для «объяснения» кода - это уже не просто строковый литерал «test.txt», а имя файла. Код выглядит более понятным, не так ли? На самом деле, нет.

Чем больше имен переменных я должен помнить, тем дольше нужно переваривать кодДавайте разберемся, что такое «читабельность» кода. Я думаю, что это качество можно измерить по количеству секунд, которые мне нужно понять, код, который я смотрю. Чем дольше таймфрейм, тем ниже читабельность. В идеале, я хочу понять любой фрагмент кода за несколько секунд. Если я не могу, это провал ее автора.Помните, если я вас не понимаю, это ваша вина.Увеличение длины кода ухудшает удобочитаемость. Таким образом, чем больше имен переменных я должен помнить при прочтении, тем больше времени требуется, чтобы переварить код и прийти к выводу о его назначении и эффектах. Я думаю, что четыре - это максимальное количество переменных, которые я могу спокойно держать в голове, не думая о том, чтобы уйти с работы.Новые переменные делают код более длинным, потому что им нужны дополнительные строки, которые будут объявлены. И они усложняют код, потому что его читателю приходится запоминать больше имен.Таким образом, когда вы хотите ввести новую переменную, чтобы объяснить, что делает ваш код, остановитесь и подумайте. Ваш код слишком сложный и длинный, в первую очередь! Реорганизуйте его, используя новые объекты или методы, но не переменные. Сделайте свой код короче, перемещая его части в новые классы или частные методы.Более того, я думаю, что в прекрасно разработанных методах вам не понадобятся какие-либо переменные, кроме аргументов метода.


Комментариев нет:

Отправить комментарий