Idiom programowania
W programowaniu komputerowym idiom programowania lub idiom kodu to grupa fragmentów kodu mających równoważną rolę semantyczną , która często powtarza się w projektach oprogramowania , często wyrażając specjalną cechę powtarzającej się konstrukcji w jednym lub większej liczbie języków programowania lub bibliotek . Definicja ta wywodzi się z definicji „ idiomu ” stosowanej w językoznawstwie. Deweloperzy rozpoznawać idiomy programistyczne poprzez kojarzenie i nadawanie znaczenia (rola semantyczna) jednemu lub większej liczbie wyrażeń składniowych we fragmentach kodu (fragmentach kodu). Idiom można postrzegać jako działanie na koncepcji programowania leżącej u podstaw wzorca w kodzie, który w implementacji jest reprezentowany przez ciągłe lub rozproszone fragmenty kodu. Fragmenty te są dostępne w kilku językach programowania, frameworkach , a nawet bibliotekach. Ogólnie rzecz biorąc, semantyczna rola idiomu programowania to wyrażenie w języku naturalnym prostego zadania, algorytmu lub struktury danych , które nie jest wbudowaną funkcję w używanym języku programowania lub, odwrotnie, użycie niezwykłej lub godnej uwagi funkcji wbudowanej w język programowania.
Znajomość idiomów związanych z językiem programowania i sposobu ich używania jest ważną częścią zdobywania biegłości w tym języku. Pomaga także w transferze wiedzy w formie analogii z jednego języka lub frameworka na inny. Taka idiomatyczna wiedza jest szeroko stosowana w repozytoriach crowdsourcingowych, aby pomóc programistom pokonać bariery programistyczne. Mapowanie idiomów kodu na idiosynkrazje może być pomocnym sposobem na znalezienie kompromisu między uogólnieniem a szczegółowością. Identyfikując typowe wzorce i idiomy, programiści mogą tworzyć modele myślowe i schematy, które pomogą im szybko zrozumieć nowy kod i poruszać się po nim. Co więcej, mapując te idiomy na cechy charakterystyczne i konkretne przypadki użycia, programiści mogą mieć pewność, że stosują właściwe podejście i nie generalizują go. Jednym ze sposobów osiągnięcia tego jest utworzenie odniesienia lub dokumentacji, która odwzorowuje popularne idiomy na konkretne przypadki użycia, podkreślając miejsca, w których mogą wymagać adaptacji lub modyfikacji, aby pasowały do konkretnego projektu lub zespołu programistów. Może to pomóc w zapewnieniu, że programiści pracują w oparciu o wspólne zrozumienie najlepszych praktyk i mogą podejmować świadome decyzje dotyczące tego, kiedy używać ustalonych idiomów, a kiedy dostosowywać je do swoich konkretnych potrzeb.
Powszechnym błędnym przekonaniem jest używanie przysłówkowej lub przymiotnikowej formy tego terminu jako typowego użycia języka programowania , co w rzeczywistości odnosi się do specyfiki. Idiom oznacza, że semantyka jakiegoś kodu w języku programowania jest podobna do innych języków lub frameworków. Na przykład specyficznym sposobem zarządzania pamięcią dynamiczną w C byłoby użycie standardowych funkcji bibliotecznych C malloc i free , podczas gdy idiomatyczne odnosi się do ręcznego zarządzania pamięcią jako powtarzającej się roli semantycznej, którą można osiągnąć za pomocą fragmentów kodu malloc w C lub wskaźnik = nowy typ [liczba_elementów] w C++. W obu przypadkach semantyka kodu jest zrozumiała dla programistów znających C lub C++, gdy tylko poznają idiomatyczne lub specyficzne uzasadnienie. Jednakże, chociaż uzasadnienie idiomatyczne jest często ogólne w dziedzinie programowania, uzasadnienie idiosynkratyczne jest często powiązane z konkretną terminologią API.
Przykłady prostych idiomów
Drukowanie Witaj, świecie
Jeden z najczęstszych punktów wyjścia do nauki programowania lub zauważenia różnic składniowych pomiędzy znanym językiem a nowym.
Ma kilka implementacji, wśród nich fragmenty kodu dla C++ :
std :: cout << "Witaj, świecie \n " ;
Dla Javy :
Systemu . na zewnątrz . println ( "Witaj, świecie" );
Wstawianie elementu do tablicy
Ten idiom pomaga programistom zrozumieć, jak manipulować kolekcjami w danym języku, szczególnie wstawiając element x na pozycji i na liście s i przesuwając elementy w prawo.
Fragmenty kodu:
Dla Pythona :
s . wstaw ( i , x )
Dla JavaScriptu :
0 s . połączenie ( i , , x );
Dla Perla :
0 splot ( @s , $i , , $x )
Zobacz też
Linki zewnętrzne
- programowanie-idioms.org pokazuje implementacje krótkich idiomów w większości języków głównego nurtu.
- Idiomy programowania w C++ z Wikibooks.