Идиома программирования или идиома является синтаксическим фрагментом , который рецидивирует часто через программные проекты и имеет одну смысловую роль, [1] часто выражающие специальную функцию повторяющейся конструкции в одном или несколько языков программирования . Разработчики распознают идиомы программирования, связывая и придавая значение одному или нескольким фрагментам кода . Идиому можно рассматривать как концепцию, лежащую в основе шаблона в коде, который в реализации представлен непрерывными или рассредоточенными фрагментами кода. Эти фрагменты доступны на нескольких языках программирования, фреймворках или даже библиотеках.. Вообще говоря, идиома программирования - это выражение на естественном языке простой задачи, алгоритма или структуры данных, которая не является встроенной функцией используемого языка программирования, или, наоборот, использование необычной или заметной функции, которая является встроен в язык программирования.
Знание идиом, связанных с языком программирования, и того, как их использовать, является важной частью свободного владения этим языком и передачи знаний в форме аналогий с одного языка или структуры на другой.
Наречное или прилагательное употребление этого термина часто принимает значение использования языка программирования типичным способом . Например, идиоматическим способом управления динамической памятью в C было бы использование функций стандартной библиотеки C malloc и free . Такой код будет хорошо понятен тем, кто знаком с C, и вряд ли вызовет проблемы с переносимостью программного обеспечения на другие вычислительные платформы . С другой стороны, если код откажется от использования этих стандартных функций и вместо этого запросит память с помощью системного вызова sbrk для достижения некоторого особого поведения, это можно будет считать неидиоматическим ; потребуется больше усилий, чтобы понять и не переносить на не- Unix-подобные системы.
Примеры простых идиом
Печать Hello World
Одна из наиболее распространенных отправных точек, чтобы научиться программировать или замечать синтаксические различия между известным языком и новым. [2]
Он имеет несколько реализаций, среди них фрагменты кода для C ++ :
std :: cout << "Привет, мир \ n " ;
Для Java :
Система . из . println ( «Привет, мир» );
Вставка элемента в массив
Эта идиома помогает разработчикам понять, как управлять коллекциями на данном языке, в частности, вставляя элемент x в позицию i в списке s и перемещая элементы вправо от него. [3]
Фрагменты кода:
Для Python :
с . вставить ( я , х )
Для JavaScript :
с . splice ( i , 0 , x );
Для Perl :
сращивание ( @s , $ i , 0 , $ x )
Смотрите также
- Алгоритмический скелет
- Встроенный SQL (своего рода «стандартная идиома» для использования на любом языке)
- Идиома
Рекомендации
- ^ «Поиск идиом из исходного кода. Милтиадис Алламанис, Чарльз Саттон. FSE 2014: Материалы 22-го Международного симпозиума ACM SIGSOFT по основам разработки программного обеспечения, ноябрь 2014 г., страницы 472–483» . arxiv.org .
- ^ «Распечатать Hello World» . www.programming-idioms.org .
- ^ «Вставить элемент в список» . www.programming-idioms.org .
Внешние ссылки
- Programming-idioms.org показывает короткие реализации идиом на большинстве основных языков.
- Идиомы программирования C ++ из Викиучебника.