Кирилл Ковалев

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

Например, архитектор пишет интерфейсы, а джуниоры пишут классы, имплементирующие его интерфейсы.

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

4 0

Kirill Mokevnin

Например, архитектор пишет интерфейсы, а джуниоры пишут классы, имплементирующие его интерфейсы.

Вот это опасная дорожка) Деление на кодеров и архитекторов это из области фантастики (плохой).

Интерфейсы в статических языках дают вам гарантии что код работающий без необходимости запуска.

1

Кирилл Ковалев

Вы хотели сказать "... гарантии, что код работает без необходимости запуска"? А так бывает?)

0

Kirill Mokevnin

С точки зрения логики нет, но с точки зрения запустился и работает да. Типы серьезная штука, посмотрите https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2 и язык haskell

0

Александр Петраков

Интерфейсы в статических языках дают вам гарантии что код работающий без необходимости запуска.

В phpstorm есть что-то типа статического анализатора кода. Если мы имплементируем интерфейс в класс, но реализовываем не все методы, то IDE укажет нам на ошибку.

Это, конечно, не достижения языка, но в целом удобненько. Думаю для VIM должен подобный плагин.

1

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».

Похожие вопросы

Виталий Караман 25 мая 2018 →

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

Андрей Свитлов 20 ноября 2017 →

Что такое маркдаун ? Зачем он нужен и где используется ?

Михаил Чудинов 08 августа 2017 →

3 раза пересматривал видео, прежде чем решился приступить к практическому заданию. Выглядело прям страшно о...

Евгений Михайлов 25 мая 2017 →

После просмотра урока возник вопрос: А как описать в интерфейсе, что функция должна возвращать что-то (не г...

Валерий Симонов 18 апреля 2017 →

Не понял зачем использовать интерфейс \IteratorAggregate . Разве код ниже не будет работать и без него? fo...