自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

養(yǎng)成良好的Linux編碼風(fēng)格

系統(tǒng) Linux
Linux操作系統(tǒng)是一個(gè)開源的操作系統(tǒng),為此你在Linux系統(tǒng)上開發(fā)的一個(gè)工具軟件,包括源代碼,可能其他系統(tǒng)管理員也需要用到。

Linux操作系統(tǒng)是一個(gè)開源的操作系統(tǒng),為此你在Linux系統(tǒng)上開發(fā)的一個(gè)工具軟件,包括源代碼,可能其他系統(tǒng)管理員也需要用到。為此在編寫代碼的時(shí)候,就需要遵守一定的規(guī)則。這不僅是為了方便他人的閱讀,也是為了以后自己的維護(hù)與升級考慮。具體的來說,筆者認(rèn)為Linux系統(tǒng)管理員要養(yǎng)成下面的一些好的編碼風(fēng)格。

一、 合理防治函數(shù)開頭的左花括號。

根據(jù)大部分系統(tǒng)管理員認(rèn)可的編碼風(fēng)格,往往將函數(shù)開頭的左括號放到代碼頁的最左邊。要避免將其他的括號(包括左花括號、左括號或者左方括號)放到最左邊。這主要是為了便于閱讀。因?yàn)楹瘮?shù)的主體內(nèi)容往往是有一對花括號括起來的。如果在代碼頁的最左邊只有代表函數(shù)的花括號,那么就可以一目了然的看到函數(shù)的主體。為此這是提高代碼閱讀性的一個(gè)很好的手段。

需要注意的是,這可能跟其他語言的編程風(fēng)格有所差異。如在Java語言或者C語言平臺上,往往將函數(shù)主體開頭的花括號放在函數(shù)的后面。如在main函數(shù)后面會直接使用{這個(gè)左花括號。不過這不利于程序的閱讀,不利于Linux系統(tǒng)管理員找到函數(shù)的主體代碼。為此如果有其他編程語言使用經(jīng)驗(yàn)的系統(tǒng)管理員,***能夠改變這種書寫習(xí)慣。筆者建議,系統(tǒng)管理員還是要將這個(gè)花括號放在最左邊,并保證在整個(gè)代碼中,最左邊出現(xiàn)的花括號都是代碼函數(shù)主體的花括號。

二、 每個(gè)函數(shù)開頭***都有一個(gè)簡短的代表功能的說明。

在Linux的功能代碼中,其各個(gè)功能也都是一個(gè)個(gè)函數(shù)或者程序構(gòu)成的。也就是說,在一個(gè)代碼文件中,可能會有很多個(gè)函數(shù)構(gòu)成。那么這些函數(shù)主要用來實(shí)現(xiàn)什么功能呢?如果不做任何說明的話,那么只有看完函數(shù)的全部代碼之后才能夠了解這個(gè)信息。這對于他人閱讀源代碼會造成比較大的障礙。而且,時(shí)間久了之后,可能連系統(tǒng)管理員自己都不知道這個(gè)函數(shù)時(shí)用來實(shí)現(xiàn)什么功能的。這對于其后續(xù)維護(hù)與升級顯然是不利的。為此筆者建議各位系統(tǒng)管理員,無論是為自己還是為他人,***在每個(gè)函數(shù)或者程序的開頭都寫上一小段注釋。好記性不如爛筆頭,這對于提高代碼的易讀性。另外需要說明的是,由于Linux系統(tǒng)可能對中文的支持并不是很好,為此在寫這個(gè)注釋的時(shí)候,***采用英文書寫。因?yàn)樵谝恍χ形闹С植⒉皇呛芎玫南到y(tǒng)中,這個(gè)中文會顯示為亂碼,此時(shí)就起不到應(yīng)有的作用了。如果不懂英文的話,那么可能只有使用拼音了。當(dāng)然這只是笑話。一般Linux系統(tǒng)工程師對于英文需要一定的了解。因?yàn)長inux操作系統(tǒng)中的幫助文檔都是英文寫的。所以這個(gè)英文的語言關(guān)也是系統(tǒng)管理員必須要解決的關(guān)口。

另外在對函數(shù)進(jìn)行說明時(shí),***還需要著名這個(gè)函數(shù)需要用戶傳入什么參數(shù),會返回什么樣的結(jié)果。以及參數(shù)、結(jié)果的個(gè)數(shù)等等。這對于代碼的編譯與維護(hù)非常有幫助。而且項(xiàng)目團(tuán)隊(duì)中的其他成員如果要引用你這個(gè)函數(shù)的話,那么不需要查看函數(shù)的具體代碼。而只需要查看一些這個(gè)注釋,就可以知道需要傳遞進(jìn)去哪些參數(shù)。這也是提高項(xiàng)目合作效率的一個(gè)手段。

#p#三、 If語句使用要規(guī)范。

在Linux系統(tǒng)中編寫代碼時(shí),IF語句是使用的最多的結(jié)構(gòu)之一。這個(gè)if語句主要用來實(shí)現(xiàn)一些邏輯的判斷。雖然這個(gè)語句本身比較簡單,但是在使用這個(gè)語句時(shí),***也能夠遵守一些規(guī)則。雖然這些規(guī)則主要是從易讀性的角度去考慮的,但是對于編寫一個(gè)準(zhǔn)確的IF結(jié)構(gòu)語句也有所幫助。

如根據(jù)Linux系統(tǒng)的編程習(xí)慣,***不要在IF的條件中進(jìn)行賦值。IF語句需要根據(jù)某個(gè)條件來進(jìn)行判斷該采取什么樣的操作。在這個(gè)條件中,根據(jù)語法是可以在這個(gè)條件中對變量進(jìn)行賦值的。但是這不符合Linux系統(tǒng)下的編程風(fēng)格。筆者建議,***在IF結(jié)構(gòu)外部對變量進(jìn)行賦值,然后再在條件中直接使用這個(gè)變量。這更易于控制IF結(jié)構(gòu)。另外,如果在IF語句中使用嵌套的話,可以使用花括號將嵌套的IF ELSE語句括起來,以利于發(fā)現(xiàn)這個(gè)嵌套語句。在其他應(yīng)用程序編寫過程中,是使用縮進(jìn)的方式來凸現(xiàn)IF嵌套結(jié)構(gòu)的。但是Linux系統(tǒng)管理員更加喜歡使用花括號。雖然這兩個(gè)沒有實(shí)質(zhì)上的區(qū)別,但是筆者還是建議采用花括號。因?yàn)檫@是一個(gè)Linux操作系統(tǒng)業(yè)內(nèi)普遍認(rèn)可的一個(gè)編碼風(fēng)格。

四、 大小寫書寫要規(guī)范。

雖然函數(shù)名或者變量名采用大寫字符或者小寫字符都是允許的。但是在定義這些名字的時(shí)候,大小寫***還是要符合一些常見的規(guī)則。如對于函數(shù)的名字***使用小寫的英文字符。如果有多個(gè)單詞構(gòu)成的話,***使用下劃線來進(jìn)行分割。而不是采用***個(gè)英文單詞大寫的方式。大小寫混用在某些環(huán)境中或許是很不錯(cuò)的解決方式,但是在Linux系統(tǒng)中不行。而對于變量來說,要根據(jù)變量的類型來確定使用小寫字符還是采用大寫字符。一般情況下,如果是系統(tǒng)管理員自己定義的變量,那么***使用小寫字符。如果采用的是系統(tǒng)變量的話,那么可以使用大寫的英文字母。如此的話,一看到變量的大寫還是小寫的狀態(tài),就可以判斷使用的是用戶自定義變量還是系統(tǒng)變量。另外在Linux系統(tǒng)中也需要用到一些常量。根據(jù)大家的編程習(xí)慣,往往利用大寫字符來定義常量。如系統(tǒng)管理員在學(xué)習(xí)其他高手編寫的代碼過程中,可以發(fā)現(xiàn)在枚舉或者宏中都是利用大寫字符來代表常量的。

在確定使用大寫還是使用小寫字符之前,需要明確的一點(diǎn)就是在Linux操作系統(tǒng)中大小寫是敏感的。也就是說,Name與name是代表兩個(gè)不同的變量。為此在系統(tǒng)中規(guī)范大小寫的格式就顯得尤其的重要。由于大小寫敏感,所以在同一個(gè)名字中混用大小寫會讓變量或者函數(shù)的應(yīng)用變得很復(fù)雜。故如果一個(gè)名字有好幾個(gè)單詞構(gòu)成,那么系統(tǒng)管理員要習(xí)慣利用下劃線來進(jìn)行單詞的分割,而不是采用***個(gè)單詞大寫的形式。

#p#五、 代碼該分行是就需要分行。

雖然Linux操作系統(tǒng)的編譯器對于分行沒有嚴(yán)格的要求。如幾個(gè)變量都可以在同一行中定義,或者在同一個(gè)行中對多個(gè)變量進(jìn)行賦值等等。只要采用了合適的分割符,就可以編譯通過并得到正確的執(zhí)行。但是如果系統(tǒng)管理員真的這么做的話,那么筆者告訴你,你會被同行笑話的。因?yàn)檫@使你不專業(yè)的表現(xiàn)。根據(jù)Linux操作系統(tǒng)通用的編程風(fēng)格,編寫代碼時(shí)該分行是就需要分行。

如在變量或者常量定義時(shí),一般都是一行定義個(gè)變量或者常量。在編寫一些復(fù)雜結(jié)構(gòu)語句時(shí),如IF或者循環(huán)結(jié)構(gòu),也往往是采取分行的格式。即使代碼很簡單,一行就可以寫完。但是仍然會根據(jù)其不同的部分,將其分割成兩行甚至多行。這有利于系統(tǒng)管理員閱讀代碼。另在程序的不同部分,也***能夠采取分行的方式來進(jìn)行隔離。如函數(shù)與函數(shù)之間,變量聲明與函數(shù)之間,注釋與代碼之間等等??梢约尤胍坏絻尚械目招?,來提高閱讀的便利性。反正這不會對程序的性能造成影響。

類似的編碼風(fēng)格還有很多。如兩個(gè)不同運(yùn)算級別的操作符號組好不要在同行中出現(xiàn);不要跨行聲明多個(gè)變量,即變量的聲明***放在同一個(gè)地方,以方便同一管理,等等。這些規(guī)則需要系統(tǒng)管理員他人編寫的代碼中去體會與總結(jié)。多看看一些專家級人物寫的代碼,往往可以給我們帶來很大的收獲。

***筆者要說的是,這些規(guī)則并不是強(qiáng)制性的。也就是說你即使不遵守這些規(guī)則的話,Linux系統(tǒng)編譯器也不會認(rèn)為你的代碼有問題,可以正確執(zhí)行。但是每個(gè)行業(yè)除了要遵守一些強(qiáng)制的法律法規(guī)之外,還需要遵守一些行業(yè)性規(guī)范。而這些編碼的風(fēng)格就是Linux操作系統(tǒng)的行業(yè)性規(guī)范。如果系統(tǒng)管理員不遵守的話,可能會被大家排斥。所以,系統(tǒng)管理員***還是花點(diǎn)時(shí)間和精力去學(xué)習(xí)這些行業(yè)規(guī)范。

【編輯推薦】

  1. fedora下bridge和nat設(shè)置(LINUX上網(wǎng)問題)
  2. Linux系統(tǒng)核心源程序文件組織結(jié)構(gòu)介紹
  3. 計(jì)算機(jī)中裝有雙系統(tǒng)的用戶如何卸載Linux
責(zé)任編輯:趙寧寧 來源: IT專家網(wǎng)
相關(guān)推薦

2009-04-23 14:21:29

UML序列圖繪制

2009-09-15 16:16:35

代碼習(xí)慣

2015-07-20 10:00:28

Linux內(nèi)核編碼風(fēng)格

2017-03-23 14:30:13

Linux內(nèi)核驅(qū)動編碼風(fēng)格

2022-04-08 14:38:43

程序員習(xí)慣終端

2011-07-10 15:49:34

C++

2020-09-01 07:38:29

編碼開發(fā)代碼

2010-06-17 18:31:12

繪制UML序列圖

2010-06-11 14:35:18

UML序列圖

2021-06-17 12:50:04

LinuxLinux內(nèi)核官方手冊

2024-10-08 05:00:00

PEP 8編碼Python

2024-09-29 15:15:46

2009-12-17 16:47:01

Linux桌面環(huán)境

2011-04-13 10:16:41

編程習(xí)慣

2020-06-02 08:54:47

編程語言C語言程序員

2021-06-28 11:50:07

APIHTTP網(wǎng)絡(luò)協(xié)議

2009-08-08 08:38:09

Linux導(dǎo)航產(chǎn)業(yè)

2010-11-12 10:07:42

2011-06-01 10:30:41

用戶界面

2019-08-19 18:01:26

企業(yè)數(shù)據(jù)數(shù)據(jù)分析數(shù)據(jù)源
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號