Исхо́дный код (также исхо́дный текст) — написанный человеком текст компьютерной программы на каком-либо языке программирования. В обобщённом смысле — любые входные данные длятранслятора. Исходный код транслируется в исполняемый код целиком до запуска программы при помощи компилятора, или может исполняться сразу при помощи интерпретатора.
Назначение[]
Исходный код либо используется для получения объектного кода, либо выполняется интерпретатором. Изменения никогда не выполняются над объектным кодом, только над исходным, с последующим повторным преобразованием в объектный.
Другое важное назначение исходного кода — в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии. Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду — т. н. генераторы документации.
Кроме того, исходный код имеет много других применений. Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения техники и методологии программирования. Он также используется как инструм
ент общения между опытными программистами, благодаря своей лаконичной и недвусмысленной природе. Совместное использование кода разработчиками часто упоминается как фактор, способствующий улучшению опыта программистов.
Программисты часто переносят исходный код (в видемодулей, в имеющемся виде или с адаптацией) из одного проекта в другой, что носит название повторного использования кода.
Исходный код — важнейший компонент для процесса портирования программного обеспечения на другие платформы. Без исходного кода какой-либо части ПО, портирование либо слишком сложно, либо вообще невозможно.
Качество[]
В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то, как написан код, может сильно влиять на процесс сопровождения ПО. О качестве исходного кода можно судить по следующим параметрам:
- читаемость кода (в том числе наличие комментариев к коду);
- лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
- экономное использование ресурсов — памяти, процессора, дискового пространства;
- отсутствие замечаний, выводимых компилятором;
- отсутствие «мусора» — неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д;
- адекватная обработка ошибок;
- учёт использования обработчика (компилятора, интерпретатора, транслятора) разных версий, или даже различныхОС;
- возможность интернационализации интерфейса.
Неисполняемый исходный код[]
Копилефтные лицензии для свободного ПОтребуют распространения исходного кода. Эти лицензии часто используются также для работ, не являющихся программами — например, документации, изображений, файлов данных для компьютерных игр.
В таких случаях исходным кодом считается форма данной работы, предпочтительная для её редактирования. В лицензиях, предназначенных не только для ПО, она также может называться версией в «прозрачном формате». Это может быть, например:
- для файла, сжатого с потерей данных — версия без потерь;
- для рендера векторного изображения или трёхмерной модели — соответственно, векторная версия и модель;
- для изображения текста — такой же текст в текстовом формате;
- для музыки — файл во внутреннем формате музыкального редактора;
- и наконец, сам файл, если он удовлетворяет указанным условиям, либо если более удобной версии просто не существовало.
Смотрите также[]
- Куайн