源代碼簡介

1、什么是源代碼
源代碼(也稱源程序)是指未編譯的按照一定的程序設(shè)計語言規(guī)范書寫的文本文件,是一系列人類可讀的計算機語言指令。 在現(xiàn)代程序語言中,源代碼可以是以書籍或者磁帶的形式出現(xiàn),但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執(zhí)行的二進制指令,這種過程叫做編譯,通過編譯器完成。
網(wǎng)站的基礎(chǔ)也被稱為源代碼。然而,這不是一種編程語言,而是一種標記語言HTML格式。標記語言決定內(nèi)容的結(jié)構(gòu)。例如,使用HTML可以定義標題、段落或突出顯示。HTML文檔本身并不是一個程序,但可能包含一個程序,例如JavaScript代碼的形式。類似的原則也適用于其他標記語言,如XML。
無論是家用電腦、現(xiàn)代智能手機還是科學計算機,電腦都是被一連串的二元系(on/off,loaded/not loaded,1/0)所指示的。雖然在計算機技術(shù)的早期,命令是以這種方式創(chuàng)建的,但我們早就轉(zhuǎn)向用人類可讀的編程語言編寫應(yīng)用程序了。乍一看,這聽起來很奇怪,因為在外行看來,源代碼也可能看起來像是混亂的胡言亂語。
在上下文中,“人類可讀”被理解為術(shù)語的對應(yīng)物機器可讀”. 當計算機只處理數(shù)字值時,人類用文字交流。所以,就像一門外語一樣,在學會編程之前,必須至少學習各種編程語言中的一種,常見的編程語言如下:
BASIC
Java
C
C++
Pascal
Python
PHP
JavaScrip
為了使計算機能夠進一步處理程序員編寫的源代碼,需要有一個翻譯兩者之間的橋梁:
編譯程序:此應(yīng)用程序類型將源代碼轉(zhuǎn)換(編譯)為進程可以理解并可以執(zhí)行的代碼。此機器代碼以可執(zhí)行文件的形式保存。
翻譯:解釋器逐行翻譯源代碼并直接執(zhí)行。翻譯過程比編譯器快得多,但執(zhí)行速度較慢,并且需要大量內(nèi)存。
2、源代碼的結(jié)構(gòu)
大多數(shù)編程語言都是相互構(gòu)建的,因此,某些相同的元素會在各種不同的程序代碼中使用:
命令:說明通常是所有應(yīng)用程序的基礎(chǔ)。在這里,程序員明確了他們未來的程序需要做什么。例如,這樣的命令可以觸發(fā)某些計算或顯示文本。
變量:變量是可以填充信息的空缺。它們在源代碼中以指定的名稱反復(fù)引用。
比較:大多數(shù)程序的結(jié)構(gòu)是由在if-then方案上運行的查詢來構(gòu)建的,即命題邏輯的原理。如果輸入了特定的真值,則會觸發(fā)一個解決方案而不是另一個解決方案。
循環(huán):查詢也可以是源代碼中循環(huán)的基礎(chǔ)。命令會重復(fù)執(zhí)行,直到達到某個值為止。當程序結(jié)束循環(huán)并運行其余代碼時。
注釋:在所有常用編程語言中,您可以對代碼中的行進行注釋。這使得在源代碼中編寫程序不考慮的文本成為可能。例如,注釋被輸入到源代碼中,這樣您或其他開發(fā)人員將來可以繼續(xù)理解部分代碼。
3、創(chuàng)建源代碼
要編寫源代碼,真正需要的只是一個簡單的文本編輯器——例如Windows上的記事本或Mac上的TextEdit。這樣,源代碼可以保存為純文本(例如ASCII碼編碼或使用UTF-8編碼),并使用正確的文件名結(jié)束編程語言。所以,如果你在硬盤上找到一個以“.cpp”結(jié)尾的文件,那么它實際上是一個文本文件,可能包含C編程語言中的代碼。
除了操作系統(tǒng)的標準程序外,還有高級文本編輯器,通過各種功能簡化源代碼工作:
語法突出顯示:每種編程語言都使用自己的語法。在許多文本編輯器中,首先選擇要用以創(chuàng)建源代碼的編程語言,然后程序會自動突出顯示關(guān)鍵元素。闡明源代碼結(jié)構(gòu)的縮進也由程序自己創(chuàng)建。
自動完成:許多面向程序員的文本編輯器知道一種編程語言的相應(yīng)命令,并自動完成這些命令,并自行關(guān)閉左括號。
括號突出顯示:編程語言使用括號(或括號)將元素組合在一起。為了跟蹤大型代碼文檔,一些文本編輯器會標記當前正在使用的括號。
代碼折疊:在大多數(shù)情況下,源代碼是通過縮進和括號分層構(gòu)建的。為了在編程過程中提供更好的概述,一些文本編輯器允許您折疊位于更深層的源代碼。這將隱藏當前不相關(guān)的部分代碼。
編譯器集成:一些文本編輯器可以使用帶有編譯器的插件進行升級。這使得直接測試剛剛編寫的程序成為可能。
多行編輯:手工編寫的源代碼可能是非常復(fù)雜的工作。因此,開發(fā)人員喜歡在同一時間執(zhí)行盡可能多的步驟。多行編輯允許他們對文檔的多個部分進行相同的更改,從而節(jié)省時間。
大型項目可以通過特殊的程序更容易地實現(xiàn)。集成開發(fā)環(huán)境結(jié)合多種工具開發(fā)人員工作所需的(因此稱為“集成”),加快了工作流程。這種ide的其他優(yōu)點是能夠無縫地相互通信并進行同步更改的工具。這些工具通常包括:
文本編輯器:文本編輯器也是開發(fā)環(huán)境的核心部分。雖然有一些可視化編程語言中存在的功能是通過圖形元素的排列來實現(xiàn)的,絕大多數(shù)應(yīng)用程序都是用經(jīng)典的源代碼編寫的。作為IDE的一部分的文本編輯器與在環(huán)境外部進行編程的編輯器具有相似的功能范圍。
編譯/解釋器:ide還包含編譯器和/或解釋器。這樣,程序員可以直接從環(huán)境中運行他們的代碼。
調(diào)試器 :調(diào)試器的使用對于合理的編程工作至關(guān)重要。此工具也是集成開發(fā)環(huán)境的標準組件。使用這個工具,您可以通過使用斷點來中斷程序流并分析執(zhí)行的進程來搜索源代碼中的錯誤(bug)。
鏈接器:為了完成編譯過程,必須合并各種元素。鏈接器是執(zhí)行此任務(wù)并創(chuàng)建可執(zhí)行文件的程序。
版本管理:此工具記錄您對源代碼所做的所有更改,并可以還原舊版本的代碼。這樣,如果不小心出錯,整個項目就不會有危險。當多個開發(fā)人員在同一個項目上協(xié)同工作時,版本管理工具也是必不可少的。
圖形用戶界面生成器:許多應(yīng)用程序的一部分是圖形用戶界面(GUI)。當然,這也必須在源代碼中定義。GUI構(gòu)建器在設(shè)計界面時支持開發(fā)人員。以一種形式所見即所得編輯器,您通??梢允褂猛戏艁斫M織圖形元素。GUI構(gòu)建器將這些轉(zhuǎn)換為IDE中編程語言的函數(shù)。
4、網(wǎng)站源代碼
即使網(wǎng)站的基本結(jié)構(gòu)通常也被稱為源代碼,即使它是文檔而不是程序。網(wǎng)站寫在HTML標記語言。不過,一般來說,網(wǎng)站也包含用JavaScript等編程語言編寫的元素并不少見。這兩種語言的共同點是,它們可以在一個簡單的文本編輯器中編寫。
使網(wǎng)站的源代碼可見的方法:
將其保存為HTML文件。通過右鍵單擊或訪問菜單,您可以輕松下載頁面。選擇“HTML only”作為文件類型是很重要的(如果保存整個網(wǎng)站,它將顯示在瀏覽器中,包括所有圖像,而不包含HTML標記)。然后可以用文本編輯器打開文件。不過,操作系統(tǒng)附帶的簡單編輯器很可能會以非?;靵y的方式呈現(xiàn)代碼。使用具有更廣泛功能的文本編輯器,您可以以更易于閱讀的形式顯示源代碼。
分析工具可以在“檢查”(Chrome)或“檢查元素”(Internet Explorer和Firefox)下的上下文菜單中找到。這將在窗口中打開一個區(qū)域。在這里,您可以顯示源代碼(除了其他函數(shù))。這與第一個選項的區(qū)別在于,在這個開發(fā)工具中,您可以通過將鼠標指針移動到源代碼上,直接選擇網(wǎng)站上相應(yīng)的元素。這意味著該工具向您顯示哪一部分受代碼行的影響。例如,網(wǎng)頁設(shè)計專業(yè)人士會利用這一點來檢查網(wǎng)站的呈現(xiàn)方式。
5、源代碼的版權(quán)
源代碼中包含了大量的工作和創(chuàng)造力。這就是為什么程序的源代碼也是版權(quán)保護。與其他知識產(chǎn)權(quán)一樣,未經(jīng)許可不得傳播第三方代碼。這尤其適用于專有軟件。
對于開源程序來說,情況就不同了。開源程序的代碼更加自由,在GitHub、SourceForge或其他可比平臺,開發(fā)人員使他們的源代碼對其他程序員廣泛可用。然而,開源程序的開發(fā)人員如果想使用代碼,通常必須遵守某些條件,例如命名作者和許可證。