Найти тему

Зачем указывать, какого типа переменная и почему многие профи считают, что так лучше

Оглавление

Есть в программировании штука такая — переменные. И в Python и JavaScript можно в эту переменную вписать что угодно. Можно число, а потом текст(строку). А в C++ и Java не так. Там когда в первый раз вводишь переменную, надо написать тип данных и соблюдать его. То есть указать, будет ли там строка или целое число или число с дробной частью или ещё что-то, и потом всю программу только этого типа данные в переменную и записывать. Мало того, нужно ещё и указать, сколько памяти под эту переменную выделить! Byte, short, int, longint — это всё указание, что в переменной будет целое число. Отличаются они только тем, сколько памяти на эту переменную выделится. А вот Python и JavaScript сколько надо памяти, столько и выделят сами.

Многие начинающие скажут, что удобнее не указывать постоянно, что да как, поэтому Python и JS лучше. А многие профи скажут — нет! Лучше, чтоб надо было указывать! И поэтому в языках, в которых можно и указывать и не указывать, что там за тип данных будет в переменных, будут указывать. И в язык, в котором не указывается тип данных переменных, попытаются это засунуть. В JavaScript типы данных не указываются, а в его «более удобной и продуманной» версии TypeScript уже добавлено.

Всё объяснит тестировщик

Даже не сам тестировщик, а наличие его профессии. В достаточно большой IT-компании присутствует человек, который проверяет продукт на наличие ошибок, багов, каких-то других проблем. Потому что профессиональный ли, непрофессиональный программист — ошибки в коде будут. Точно будут, не сомневайтесь.

И раз ошибки будут, их нужно исправлять. Вот только надо для этого понять, в чём ошибка. ГДЕ ОНА В КОДЕ.

-2

И это иногда боль. Да, про многие ошибки расскажет IDE, компилятор и т.д. Но он укажет на самые банальные ошибки. А если код всё же запускается, но работает не так — это может быть очень большая боль, куча потраченного времени.

Классическая история из начала нулевых — код, который работал не как надо, пока через три дня программист не нашёл, что вместо английской "c" русская «с» была написана. Хотя современные средства разработки такое покажут сразу.

Проблема не только в рабочих часах программиста

От ошибок в коде страдает бизнес. У бизнеса часто есть сроки, которые ошибка в коде, вернее, трата времени на поиск и исправление, может сорвать.

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

А ошибку может породить любое изменение проекта. Бизнес развивается и ему постоянно нужно что-то добавлять, что-то убирать, и это всё нужно вносить в код, перестраивать приложение под нужды. Да, профессиональные программисты/разработчики большую часть времени не пишут код, а изучают и переписывают его.

Так при чём здесь жёсткое указание типа данных?

Это позволяет заметить большее количество ошибок в коде, причём раньше, на этапе компиляции/запуска этого кода.

Если у нас чётко прописано, что в этой переменной должно! быть целое число и занимать не больше 2 байтов в оперативной памяти, а мы туда попытаемся записать строку или что-то больше этих двух байтов, то код просто не запустится. А IDE так и объяснит, почему не запускается «В эту переменную пытаются записать что-то не то».

Это и может быть такой ошибкой, что программист в коде не ту переменную указал для записи каких-то данных. А может быть и не основной ошибкой, но указывать на какую-то более серьёзную. И программист, задумавшись над тем «А почему вообще в эту переменную записываются эти данные?» может эту более серьёзную ошибку заметить.

Неужели прямо так помогает?

Да, ситуация не такая уж и редкая, профессиональные программисты вам это подтвердят. И расскажут про многие другие неочевидные вещи, которые помогают выявлять ошибки в коде как можно раньше. Мало просто уметь писать код, важно уметь писать его так, чтобы легче было его понять, переписать, найти в нём ошибку.

Также Andrey_77 в комментариях уточнил, что это актуально и для для параметров функций/методов и для переменных разных классов, причём даже более актуально.

Подытожим

Если программист использует строгую явную типизацию — когда нужно сразу писать, какого типа данные должны быть в переменной, и записывать в эту переменную данные другого типа будет нельзя — то при нарушении этих жёстких рамок компилятор, IDE будут указывать на это сразу. Это поможет замечать многие ошибки в коде раньше, чем они станут серьёзной проблемой. А ошибки в коде это серьёзная проблема, от которой совсем в IT избавиться не получается, поэтому большие ресурсы тратятся на то, чтобы замечать их как можно раньше и исправлять как можно быстрее.

Так что явное и жёсткое (строгое) указание типов переменных — это потратить немного дополнительного времени сейчас, чтобы не потратить много дополнительного времени потом.

Ну как, понравилась статья? Не слишком простые и очевидные вещи, «которые все знают»? Напишите об этом, поставьте лайк или дизлайк, не забудьте, что можно подписаться и даже финансово немного отблагодарить

ДЛЯ ДОНАТОВ

https://yoomoney.ru/to/410012316866358
https://donate.stream/vrom1990 или на карту 5599 0020 1940 9582

https://zen.yandex.ru/id/vrom1990
https://t.me/vrom1990pb
https://pikabu.ru/@vrom1990
https://archive.org/details/python-tupyh
https://vk.com/vrom1990pb
https://www.youtube.com/c/ВячеславРоманьков