ñòàòüèGNU Free Documentation License ìàòåðèàëû âçÿòû èç Âèêèïåäèè Ñòàòüÿ áûëà èçìåíåíà. Îðèãèíàë ñòàòüè.

Èñõîäíûé êîä

Ìàòåðèàë èç Ýíöèêëîïåäèè â ñâîáîäíîé ýíöèêëîïåäèè
Ïåðåéòè ê: íàâèãàöèÿ, ïîèñê
Èñõîäíûé êîä, íàïèñàííûé íà HTML, ñ èñïîëüçîâàíèåì JavaScript

Èñõî́äíûé êîä (òàêæå èñõî́äíûé òåêñò) â òåêñò êîìïüþòåðíîé ïðîãðàììû íà êàêîì-ëèáî ÿçûêå ïðîãðàììèðîâàíèÿ, êîòîðûé ìîæåò áûòü ïðî÷ò¸í ÷åëîâåêîì.  îáîáù¸ííîì ñìûñëå â ëþáûå âõîäíûå äàííûå äëÿ òðàíñëÿòîðà. Èñõîäíûé êîä òðàíñëèðóåòñÿ â èñïîëíÿåìûé êîä öåëèêîì äî çàïóñêà ïðîãðàììû ïðè ïîìîùè êîìïèëÿòîðà, èëè ìîæåò èñïîëíÿòüñÿ ñðàçó ïðè ïîìîùè èíòåðïðåòàòîðà.

Ñîäåðæàíèå

[ïðàâèòü] Íàçíà÷åíèå

Èñõîäíûé êîä ëèáî èñïîëüçóåòñÿ äëÿ ïîëó÷åíèÿ îáúåêòíîãî êîäà, ëèáî âûïîëíÿåòñÿ èíòåðïðåòàòîðîì. Èçìåíåíèÿ íèêîãäà íå âûïîëíÿþòñÿ íàä îáúåêòíûì êîäîì, òîëüêî íàä èñõîäíûì, ñ ïîñëåäóþùèì ïîâòîðíûì ïðåîáðàçîâàíèåì â îáúåêòíûé.

Äðóãîå âàæíîå íàçíà÷åíèå èñõîäíîãî êîäà â â êà÷åñòâå îïèñàíèÿ ïðîãðàììû. Ïî òåêñòó ïðîãðàììû ìîæíî âîññòàíîâèòü ëîãèêó å¸ ïîâåäåíèÿ. Äëÿ îáëåã÷åíèÿ ïîíèìàíèÿ èñõîäíîãî êîäà èñïîëüçóþòñÿ êîììåíòàðèè. Ñóùåñòâóþò òàêæå èíñòðóìåíòàëüíûå ñðåäñòâà, ïîçâîëÿþùèå àâòîìàòè÷åñêè ïîëó÷àòü äîêóìåíòàöèþ ïî èñõîäíîìó êîäó â ò. í. ãåíåðàòîðû äîêóìåíòàöèè.

Êðîìå òîãî, èñõîäíûé êîä èìååò ìíîãî äðóãèõ ïðèìåíåíèé. Îí ìîæåò èñïîëüçîâàòüñÿ êàê èíñòðóìåíò îáó÷åíèÿ; íà÷èíàþùèì ïðîãðàììèñòàì áûâàåò ïîëåçíî èññëåäîâàòü ñóùåñòâóþùèé èñõîäíûé êîä äëÿ èçó÷åíèÿ òåõíèêè è ìåòîäîëîãèè ïðîãðàììèðîâàíèÿ. Îí òàêæå èñïîëüçóåòñÿ êàê èíñòðóìåíò îáùåíèÿ ìåæäó îïûòíûìè ïðîãðàììèñòàìè, áëàãîäàðÿ ñâîåé ëàêîíè÷íîé è íåäâóñìûñëåííîé ïðèðîäå. Ñîâìåñòíîå èñïîëüçîâàíèå êîäà ðàçðàáîò÷èêàìè ÷àñòî óïîìèíàåòñÿ êàê ôàêòîð, ñïîñîáñòâóþùèé óëó÷øåíèþ îïûòà ïðîãðàììèñòîâ.

Ïðîãðàììèñòû ÷àñòî ïåðåíîñÿò èñõîäíûé êîä (â âèäå ìîäóëåé, â èìåþùåìñÿ âèäå èëè ñ àäàïòàöèåé) èç îäíîãî ïðîåêòà â äðóãîé, ÷òî íîñèò íàçâàíèå ïîâòîðíîãî èñïîëüçîâàíèÿ êîäà.

Èñõîäíûé êîä â âàæíåéøèé êîìïîíåíò äëÿ ïðîöåññà ïîðòèðîâàíèÿ ïðîãðàììíîãî îáåñïå÷åíèÿ íà äðóãèå ïëàòôîðìû. Áåç èñõîäíîãî êîäà êàêîé-ëèáî ÷àñòè ÏÎ, ïîðòèðîâàíèå ëèáî ñëèøêîì ñëîæíî, ëèáî âîîáùå íåâîçìîæíî.

[ïðàâèòü] Îðãàíèçàöèÿ

Èñõîäíûé êîä íåêîòîðîé ÷àñòè ÏÎ (ìîäóëÿ, êîìïîíåíòà) ìîæåò ñîñòîÿòü èç îäíîãî èëè íåñêîëüêèõ ôàéëîâ. Êîä ïðîãðàììû íå îáÿçàòåëüíî ïèøåòñÿ òîëüêî íà îäíîì ÿçûêå ïðîãðàììèðîâàíèÿ. Íàïðèìåð, ÷àñòî ïðîãðàììû, íàïèñàííûå íà ÿçûêå Ñè, ñ öåëüþ îïòèìèçàöèè, ñîäåðæàò âñòàâêè êîäà íà ÿçûêå àññåìáëåðà. Òàêæå âîçìîæíû ñèòóàöèè, êîãäà íåêîòîðûå êîìïîíåíòû èëè ÷àñòè ïðîãðàììû ïèøóòñÿ íà ðàçëè÷íûõ ÿçûêàõ, ñ ïîñëåäóþùåé ñáîðêîé â åäèíûé èñïîëíÿåìûé ìîäóëü ïðè ïîìîùè òåõíîëîãèè, èçâåñòíîé êàê êîìïîíîâêà áèáëèîòåê (library linking).

Ñëîæíîå ïðîãðàììíîå îáåñïå÷åíèå ïðè ñáîðêå òðåáóåò èñïîëüçîâàíèÿ äåñÿòêîâ, èëè äàæå ñîòåí ôàéëîâ ñ èñõîäíûì êîäîì.  òàêèõ ñëó÷àÿõ äëÿ óïðîùåíèÿ ñáîðêè îáû÷íî èñïîëüçóþòñÿ ôàéëû ïðîåêòîâ, ñîäåðæàùèå îïèñàíèå çàâèñèìîñòåé ìåæäó ôàéëàìè ñ èñõîäíûì êîäîì, è îïèñûâàþùèå ïðîöåññ ñáîðêè. Ýòè ôàéëû òàêæå ìîãóò ñîäåðæàòü ïàðàìåòðû äëÿ êîìïèëÿòîðà è ñðåäû ïðîåêòèðîâàíèÿ. Äëÿ ðàçíûõ ñðåä ïðîåêòèðîâàíèÿ ìîãóò ïðèìåíÿòüñÿ ðàçíûå ôàéëû ïðîåêòà, ïðè÷¸ì â íåêîòîðûõ ñðåäàõ ýòè ôàéëû ìîãóò áûòü â òåêñòîâîì ôîðìàòå, ïðèãîäíîì äëÿ íåïîñðåäñòâåííîãî ðåäàêòèðîâàíèÿ ïðîãðàììèñòîì ñ ïîìîùüþ óíèâåðñàëüíûõ òåêñòîâûõ ðåäàêòîðîâ, â äðóãèõ ñðåäàõ ïîääåðæèâàþòñÿ ñïåöèàëüíûå ôîðìàòû, à ñîçäàíèå è èçìåíåíèÿ ôàéëîâ ïðîèçâîäèòñÿ ñ ïîìîùüþ ñïåöèàëüíûõ èíñòðóìåíòàëüíûõ ïðîãðàìì. Ôàéëû ïðîåêòîâ îáû÷íî âêëþ÷àþò â ïîíÿòèå «èñõîäíûé êîä».  ïîäàâëÿþùåì áîëüøèíñòâå ñîâðåìåííûõ ÿçûêîâûõ ñðåä îáÿçàòåëüíî èñïîëüçóþòñÿ ôàéëû ïðîåêòîâ âíå çàâèñèìîñòè îò ñëîæíîñòè ïðî÷åãî èñõîäíîãî êîäà, âõîäÿùåãî â äàííûé ïðîåêò.[èñòî÷íèê íå óêàçàí 664 äíÿ] ×àñòî ïîä èñõîäíûì êîäîì ïîäðàçóìåâàþò è ôàéëû ðåñóðñîâ, ñîäåðæàùèå ðàçëè÷íûå äàííûå, íàïðèìåð, ãðàôè÷åñêèå èçîáðàæåíèÿ, íóæíûå äëÿ ñáîðêè ïðîãðàììû.

Äëÿ îáëåã÷åíèÿ ðàáîòû ñ èñõîäíûì êîäîì, äëÿ ñîâìåñòíîé ðàáîòû íàä êîäîì êîìàíäîé ïðîãðàììèñòîâ, èñïîëüçóþòñÿ ñèñòåìû óïðàâëåíèÿ âåðñèÿìè.

[ïðàâèòü] Êà÷åñòâî

 îòëè÷èå îò ÷åëîâåêà, äëÿ êîìïüþòåðà íåò «õîðîøî íàïèñàííîãî» èëè «ïëîõî íàïèñàííîãî» êîäà. Íî òî, êàê íàïèñàí êîä, ìîæåò ñèëüíî âëèÿòü íà ïðîöåññ ñîïðîâîæäåíèÿ ÏÎ. Î êà÷åñòâå èñõîäíîãî êîäà ìîæíî ñóäèòü ïî ñëåäóþùèì ïàðàìåòðàì:

  • ÷èòàåìîñòü êîäà (â òîì ÷èñëå íàëè÷èå êîììåíòàðèåâ ê êîäó);
  • ë¸ãêîñòü â ïîääåðæêå, òåñòèðîâàíèè, îòëàäêå è óñòðàíåíèè îøèáîê, ìîäèôèêàöèè è ïîðòèðîâàíèè;
  • ýêîíîìíîå èñïîëüçîâàíèå ðåñóðñîâ â ïàìÿòè, ïðîöåññîðà, äèñêîâîãî ïðîñòðàíñòâà;
  • îòñóòñòâèå çàìå÷àíèé, âûâîäèìûõ êîìïèëÿòîðîì;
  • îòñóòñòâèå «ìóñîðà» â íåèñïîëüçóåìûõ ïåðåìåííûõ, íåäîñòèæèìûõ áëîêîâ êîäà, íåíóæíûõ óñòàðåâøèõ êîììåíòàðèåâ è ò. ä;
  • àäåêâàòíàÿ îáðàáîòêà îøèáîê;
  • ïåðåíîñèìîñòü â âîçìîæíîñòü èñïîëüçîâàíèÿ îáðàáîò÷èêà (êîìïèëÿòîðà, èíòåðïðåòàòîðà, òðàíñëÿòîðà) ðàçíûõ âåðñèé, èëè äàæå ðàçëè÷íûõ ÎÑ;
  • âîçìîæíîñòü èíòåðíàöèîíàëèçàöèè èíòåðôåéñà.

[ïðàâèòü] Íåèñïîëíÿåìûé èñõîäíûé êîä

Êîïèëåôòíûå ëèöåíçèè äëÿ ñâîáîäíîãî ÏÎ òðåáóþò ðàñïðîñòðàíåíèÿ èñõîäíîãî êîäà. Ýòè ëèöåíçèè ÷àñòî èñïîëüçóþòñÿ òàêæå äëÿ ðàáîò, íå ÿâëÿþùèõñÿ ïðîãðàììàìè â íàïðèìåð, äîêóìåíòàöèè, èçîáðàæåíèé, ôàéëîâ äàííûõ äëÿ êîìïüþòåðíûõ èãð.

 òàêèõ ñëó÷àÿõ èñõîäíûì êîäîì ñ÷èòàåòñÿ ôîðìà äàííîé ðàáîòû, ïðåäïî÷òèòåëüíàÿ äëÿ å¸ ðåäàêòèðîâàíèÿ.  ëèöåíçèÿõ, ïðåäíàçíà÷åííûõ íå òîëüêî äëÿ ÏÎ, îíà òàêæå ìîæåò íàçûâàòüñÿ âåðñèåé â «ïðîçðà÷íîì ôîðìàòå». Ýòî ìîæåò áûòü, íàïðèìåð:

  • äëÿ ôàéëà, ñæàòîãî ñ ïîòåðåé äàííûõ â âåðñèÿ áåç ïîòåðü;
  • äëÿ ðåíäåðà âåêòîðíîãî èçîáðàæåíèÿ èëè òð¸õìåðíîé ìîäåëè â ñîîòâåòñòâåííî, âåêòîðíàÿ âåðñèÿ è ìîäåëü;
  • äëÿ èçîáðàæåíèÿ òåêñòà â òàêîé æå òåêñò â òåêñòîâîì ôîðìàòå;
  • äëÿ ìóçûêè â ôàéë âî âíóòðåííåì ôîðìàòå ìóçûêàëüíîãî ðåäàêòîðà;
  • è íàêîíåö, ñàì ôàéë, åñëè îí óäîâëåòâîðÿåò óêàçàííûì óñëîâèÿì, ëèáî åñëè áîëåå óäîáíîé âåðñèè ïðîñòî íå ñóùåñòâîâàëî.

[ïðàâèòü] Ñì. òàêæå

Ïðîñòðàíñòâà èì¸í
Âàðèàíòû
Ïðîñìîòðû
Äåéñòâèÿ