A Идиома программирования или Идиома кода выражает особую особенность повторяющейся конструкции в одном или нескольких языки программирования. Разработчики распознают идиомы программирования, связывая и придавая значение одному или нескольким фрагментам кода. Идиому можно рассматривать как концепцию, лежащую в основе шаблона в коде, который в реализации представлен непрерывными или рассредоточенными фрагментами кода. Эти фрагменты доступны на нескольких языках программирования, фреймворках или даже библиотеках. Вообще говоря, идиома программирования - это выражение на естественном языке простой задачи, алгоритма или структуры данных, которая не является встроенной функцией в программировании. используемый язык или, наоборот, использование необычной или примечательной функции, встроенной в язык программирования. Кроме того, этот термин можно использовать в более широком смысле для обозначения сложных алгоритмов или шаблонов проектирования программирования с точки зрения реализации и исключения обоснования дизайна.
Знание идиом, связанных с языком программирования, и того, как их использовать, является важной частью свободного владения на этом языке и передачи знаний в виде аналогий с одного языка или структуры на еще один.
Использование этого термина в наречиях или прилагательных часто означает использование языка программирования типичным способом. Например, идиоматическим способом управления динамической памятью в C было бы использование функций malloc и free из стандартной библиотеки C C. Такой код будет хорошо понятен тем, кто знаком с C, и вряд ли вызовет проблемы с переносимостью программного обеспечения на другие вычислительные платформы. С другой стороны, если код откажется от использования этих стандартных функций и вместо этого запросит память, используя системный вызов sbrk для достижения некоторого особого поведения, это можно будет считать неидиоматическим ; потребуется больше усилий, чтобы понять и не переносить на не Unix-подобные системы.
Одна из наиболее распространенных отправных точек для изучения программы или выявления различий в синтаксисе между известным языком и новым.
Это имеет несколько реализаций, среди них фрагменты кода для C ++ :
std :: cout << "Hello World\n";
For Java :
System.out.println ("Hello World");
Эта идиома помогает разработчикам понять, как управлять коллекциями на данном языке, в частности, вставляя элемент x в позицию i в списке s и перемещая элементы вправо.
Фрагменты кода:
Для Python :
s.insert (i, x)
Для JavaScript :
s.splice (i, 0, x);
Для Perl :
splice (@s, $ i, 0, $ x)