Никого не волнует ваш стиль программирования

Никого не волнует ваш стиль программирования

Maksym Pohribniak

Окей, некоторых людей да, но не ваш компьютер.

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

Сначала я хотел написать четкое и подробное объяснение различий между императивным программированием и декларативным программированием. Это было в основном связано с чтением других статей по этой теме, которые часто сводятся к сравнению разницы с неудачным примером, таким как показ умножения числа на два или поиск четных чисел в массиве. Почти в каждой статье «Императивное программирование против декларативного программирования» используется код, подобный приведенному на рисунке ниже.

Каждая статья об императивном программировании против декларативного программирования

В последние годы мы наблюдаем рост использования декларативного программирования, во многом благодаря появлению React и его подходу к созданию компонентов. Мне нравится писать компоненты в декларативном стиле, и не сказал бы, что вам следует создавать их с императивным подходом.


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

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


Императивный код может помочь вашим коллегам понять, как именно работает ваш код. Помните, когда я сказал, что «может быть, некоторые люди заботятся» о том, использовали ли вы императивный или декларативный код, ваш технический руководитель, вероятно, один из них! На самом деле, нет смысла пытаться понять различия между императивным и декларативным программированием в стиле "это то, на что похож мой код, когда написано в императиве, и это как это выглядит в декларативном".


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


Хотя декларативный код может сделать ваш код более элегантным, внутренняя работа этих декларативных функций, вероятно, будет состоять в основном из абстрагированного императивного кода. А знаете ли вы, что делают компиляторы, когда они компилируют вашу работу в машинный код? Они разбирают весь ваш код, включая все эти красиво написанные декларативные биты, и превращают его в длинный список обязательных инструкций для вашего компьютера. Хотя некоторые люди могут беспокоиться о том, используете ли вы императивное программирование или декларативное программирование, ваш компьютер, конечно же, этого не делает! Оригинал.


Report Page