Jump to content

Идиома программирования

(Перенаправлено из «Идиомы программирования »)

В компьютерном программировании идиома программирования или идиома кода представляет собой группу фрагментов кода , имеющих эквивалентную семантическую роль . [1] который часто повторяется в проектах программного обеспечения , часто выражая особую особенность повторяющейся конструкции в одном или нескольких языках программирования или библиотеках . Это определение основано на определении слова « идиома », используемом в лингвистике. Разработчики распознают идиомы программирования, связывая значение (семантическую роль) с одним или несколькими синтаксическими выражениями внутри фрагментов кода (фрагментов кода). Идиому можно рассматривать как действие над концепцией программирования, лежащей в основе шаблона кода, который в реализации представлен смежными или разбросанными фрагментами кода. Эти фрагменты доступны на нескольких языках программирования, фреймворках и даже библиотеках. Вообще говоря, семантическая роль идиомы программирования — это выражение на естественном языке простой задачи, алгоритма или структуры данных , которая не является встроенной функцией используемого языка программирования, или, наоборот, использование необычной или примечательной функции. который встроен в язык программирования.

Знание идиом, связанных с языком программирования, и способов их использования является важной частью свободного владения этим языком. Это также помогает передавать знания в виде аналогий с одного языка или структуры на другой. Такие идиоматические знания широко используются в краудсорсинговых репозиториях, чтобы помочь разработчикам преодолеть барьеры программирования. [2] Сопоставление идиом кода с особенностями может оказаться полезным способом найти компромисс между обобщением и конкретикой. Выявляя общие шаблоны и идиомы, разработчики могут создавать ментальные модели и схемы, которые помогают им быстро понимать новый код и ориентироваться в нем. Более того, сопоставляя эти идиомы с особенностями и конкретными вариантами использования, разработчики могут гарантировать, что они применяют правильный подход, а не чрезмерно обобщают его. Один из способов сделать это — создать справочник или документацию, в которых общие идиомы сопоставляются с конкретными вариантами использования, подчеркивая, где их может потребоваться адаптировать или изменить для соответствия конкретному проекту или команде разработчиков. Это может помочь гарантировать, что разработчики работают с общим пониманием лучших практик и могут принимать обоснованные решения о том, когда использовать устоявшиеся идиомы, а когда адаптировать их в соответствии со своими конкретными потребностями.

Распространенным заблуждением является использование наречия или прилагательной формы термина как типичного использования языка программирования , что на самом деле относится к идиосинкразии. Идиома подразумевает, что семантика некоторого кода на языке программирования имеет сходство с другими языками или платформами. Например, своеобразным способом управления динамической памятью в C было бы использование стандартной библиотеки C функций malloc и free , тогда как идиоматический относится к ручному управлению памятью как к повторяющейся семантической роли, которая может быть достигнута с помощью фрагментов кода malloc в C или указателя = новый тип [число_элементов] в C++. В обоих случаях семантика кода понятна разработчикам, знакомым с C или C++, как только им раскрывается идиоматическое или идиосинкразическое обоснование. Однако, хотя идиоматическое обоснование часто является общим для области программирования, идиосинкразическое обоснование часто связано с конкретной терминологией API.

Примеры простых идиом

[ редактировать ]

Печать Привет, мир

[ редактировать ]

Одна из наиболее распространенных отправных точек, чтобы научиться программировать или заметить синтаксические различия между известным языком и новым. [3]

Он имеет несколько реализаций, среди них фрагменты кода для C++ :

std::cout << "Hello World\n";

Для Явы :

System.out.println("Hello World");

Вставка элемента в массив

[ редактировать ]

Эта идиома помогает разработчикам понять, как манипулировать коллекциями на данном языке, в частности вставлять элемент x в позицию i в списке s и перемещать элементы вправо. [4]

Фрагменты кода:

Для Питона :

s.insert(i, x)

Для JavaScript :

s.splice(i, 0, x);

Для Перла :

splice(@s, $i, 0, $x)

См. также

[ редактировать ]
  1. ^ Алламанис, Мильтиадис; Саттон, Чарльз (2014). «Майнинг идиом из исходного кода». Материалы 22-го Международного симпозиума ACM SIGSOFT по основам программной инженерии . стр. 472–483. arXiv : 1404.0417 . дои : 10.1145/2635868.2635901 . ISBN  9781450330565 . S2CID   2923536 .
  2. ^ Самудио, Дэвид И.; Латоза, Томас Д. (2022). «Барьеры во фронтальной веб-разработке» (PDF) . Симпозиум IEEE 2022 по визуальным языкам и человекоцентричным вычислениям (VL/HCC) . стр. 1–11. дои : 10.1109/VL/HCC53370.2022.9833127 . ISBN  978-1-6654-4214-5 . S2CID   251657931 .
  3. ^ «Напечатать Привет, мир» . www.programming-idioms.org .
  4. ^ «Вставить элемент в список» . www.programming-idioms.org .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7616112b3855e82ba5b93de61516c357__1700093460
URL1:https://arc.ask3.ru/arc/aa/76/57/7616112b3855e82ba5b93de61516c357.html
Заголовок, (Title) документа по адресу, URL1:
Programming idiom - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)