亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2268 | 回復(fù): 0
打印 上一主題 下一主題

Java源代碼的折行規(guī)則 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-01-15 23:00 |只看該作者 |倒序?yàn)g覽
一些企業(yè)在招聘程序員的時(shí)候,總會(huì)特意提出一個(gè)要求,即“要求具有良好的編碼規(guī)范”。確實(shí)現(xiàn)在程序開發(fā)人員已經(jīng)不在是單槍匹馬的單干,而是講究團(tuán)體作戰(zhàn)。此時(shí)就要求團(tuán)隊(duì)內(nèi)的乘員都可能夠恪守代碼的編寫規(guī)范,這對于乘員之間共享代碼、排錯(cuò)等作業(yè)都具有非,F(xiàn)實(shí)的意義。這在
Java
語言中當(dāng)然也不例外。筆者借這次機(jī)會(huì),就跟大家分享一下
Java
源代碼的折行規(guī)則。雖然這基本不涉及到功能層面的內(nèi)容,但是對于提高代碼的閱讀性卻有不可替代的作用。
    一、代碼的最大長度。
    雖然在Java的編譯器中對于代碼的最大長度沒有硬性的規(guī)定。但是如果代碼的長度太長,超過了編譯器的最當(dāng)行寬,顯然閱讀起來比較麻煩。為此根據(jù)筆者的經(jīng)驗(yàn),通常情況下Java源代碼的行長度不應(yīng)該大于80個(gè)字符。如果超過這個(gè)長度的話,在一些開發(fā)工具和編輯器上就無法很好的顯示。如需要通過滾動(dòng)條來顯示后面部分的代碼。當(dāng)其他項(xiàng)目成員閱讀這超長的代碼時(shí),就會(huì)看得眼花繚亂。當(dāng)人的溫飽問題解決了之后,就需要開始注意美觀方面的問題。所以程序開發(fā)人員在開發(fā)應(yīng)用程序的時(shí)候,要盡量避免書寫長的代碼。如果代碼的每行長度確實(shí)需要超過80個(gè)字符的話(最好將每行代碼的長度控制在70個(gè)字符左右),那么就需要對代碼進(jìn)行分行。
    二、在恰當(dāng)?shù)牡胤綄Υa進(jìn)行分行。
    筆者建議將Java源代碼每行的長度控制在70個(gè)字符、最大不超過80個(gè)字符。當(dāng)超過這個(gè)字符長度的時(shí)候,開發(fā)人員就需要考慮在恰當(dāng)?shù)牡胤綄λ麄冞M(jìn)行分行處理。不過這個(gè)分行也不是說開發(fā)人員想在哪里進(jìn)行分行就在哪里進(jìn)行分行。這個(gè)分行是有一定技巧的。雖然這些技巧大部分并不是強(qiáng)制性的規(guī)定,但是都是一些專家們的經(jīng)驗(yàn)總結(jié),可以提高代碼的閱讀性。為此筆者希望各位程序開發(fā)能夠嚴(yán)格的遵守。
    技巧一:高層折行優(yōu)于低層折行。
    這個(gè)技巧是說,在考慮對代碼進(jìn)行折行處理的時(shí)候,需要注意代碼的層次性。如某段代碼涉及到混合四則運(yùn)算,而四則運(yùn)算又有明顯的運(yùn)算順序,此時(shí)對代碼進(jìn)行折行時(shí)就最好能夠在四則運(yùn)算的關(guān)鍵順序上進(jìn)行折行處理。如現(xiàn)在有如下的一段代碼:
    Mynum=mynum1*(mynum1+mynue2+mynum3-mynum4)+8*mynum5
    如果要對這段代碼進(jìn)行折行的話,該在哪個(gè)地方加入一個(gè)折行符號(hào)呢?如果是筆者處理的話,筆者會(huì)按如下的格式對代碼進(jìn)行折行處理。
    Mynum=mynum1*(mynum1+mynue2+mynum3-mynum4)
    +8*mynum5
    這主要是根據(jù)四則運(yùn)算的運(yùn)算層次來進(jìn)行折行的。顯然,*符號(hào)的優(yōu)先級(jí)要比+符號(hào)要高。所以在+號(hào)前面對其進(jìn)行折行處理,那么就可以一目了然的反應(yīng)出代碼的運(yùn)算層次。可以大幅度的提高代碼的閱讀性。所以代碼折行的第一個(gè)技巧就是高層折行優(yōu)于低層折行。如此的話,可以使得應(yīng)用程序的結(jié)構(gòu)代碼更加的清晰,更容易被團(tuán)隊(duì)成員所理解。
    技巧二:在運(yùn)算符前面進(jìn)行折行處理。
    其實(shí)在如上的折行技巧中,還隱藏著一個(gè)規(guī)則,即在運(yùn)算符之前進(jìn)行折行。如上例所示,筆者就是在+號(hào)前面進(jìn)行折行,而不是在+號(hào)后面進(jìn)行折行處理。這主要也是考慮到代碼的可讀性。如上面這個(gè)例子中,如果在+號(hào)后面進(jìn)行折行處理的話,則下一行就會(huì)給人一種憑空多出來的感覺,顯得代碼很不連貫。跟這個(gè)規(guī)則類似,如果在折行處理的時(shí)候遇到逗號(hào)時(shí),那么最好能夠在逗號(hào)后面進(jìn)行折行。如在一個(gè)方法中,需要傳入5個(gè)參數(shù)。此時(shí)如果代碼行比較長,那么就需要在幾個(gè)參數(shù)之間進(jìn)行折行處理。此時(shí)最理想的折行位置,就是在某個(gè)參數(shù)的逗號(hào)后面。注意,使在逗號(hào)后面進(jìn)行折行,而不是在逗號(hào)前面。因?yàn)橐粋(gè)參數(shù)一個(gè)逗號(hào)是匹對的。而如果一個(gè)逗號(hào)加一個(gè)參數(shù),則讓人看起來很不舒服。
    技巧三:這行代碼的對起方式。
    當(dāng)不得已對代碼進(jìn)行折行處理時(shí),下一行的代碼應(yīng)該與其同等級(jí)的代碼行左對齊。如上例所示,在+號(hào)前面將某一段四則運(yùn)算公式進(jìn)行折行處理的時(shí)候,其+號(hào)符號(hào)已經(jīng)采取縮進(jìn)處理。其縮進(jìn)后的效果就是要與其同等級(jí)的代碼行左對齊。如此的話,明眼人一看就知道這段代碼采取過折行處理;而且跟上一行代碼的層次關(guān)系。當(dāng)一段代碼被分割成三行甚至跟更多行數(shù)的時(shí)候,這個(gè)規(guī)則會(huì)非常的有用。如果能夠嚴(yán)格遵守這個(gè)規(guī)則,即使將代碼分割成多行,看起來也不會(huì)覺得那么混亂。反而給人一種比較有層次的感覺。
    另外在采取縮進(jìn)處理的時(shí)候,可以利用Tab鍵來提高縮進(jìn)處理的效率。因?yàn)橹苯影纯崭竦脑,有可能空格字符?shù)量不一致,會(huì)讓人覺得層次不起,產(chǎn)生比較大的混亂。一般情況下,當(dāng)代碼行兩側(cè)距離頁邊的距離比較大,看其來不怎么舒服時(shí),可以在代碼行中通過插入TAB鍵(會(huì)在代碼行中連續(xù)插入8個(gè)字符)來提高代碼的閱讀性,讓代碼的縮進(jìn)實(shí)現(xiàn)統(tǒng)一。
    技巧四:為變量尋找一個(gè)合適的位置。
    在編寫應(yīng)用程序時(shí),盡量將變量聲明放置在一個(gè)代碼塊的開始處,也就是說{}花括號(hào)的開始位置。雖然說可以在需要使用變量的時(shí)候再對其進(jìn)行聲明。但是筆者不同義如此操作。因?yàn)槿绻诘哪馗械绞褂米兞康臅r(shí)候再來聲明變量時(shí),會(huì)降低代碼的可讀性。同理,也需要避免低層聲明與高層聲明重復(fù),這樣會(huì)引起代碼混亂并可能引發(fā)程序功能性錯(cuò)誤。而且這種錯(cuò)誤在后續(xù)的排錯(cuò)中很難被發(fā)現(xiàn)。為此要在應(yīng)用程序開發(fā)的時(shí)候就要盡量避免這種錯(cuò)誤。
    在聲明變量的時(shí)候,有時(shí)候可能代碼很簡單,生命變量的行總共加起來也不會(huì)超過十個(gè)字符。此時(shí)能否把多個(gè)變量的聲明寫在同一行呢?從就技術(shù)上來說,這是可行的。也就是說,Java編譯器允許將多個(gè)變量定義在同一行上。但是從閱讀性上來說,這并不是很好的做法。筆者的建議是,即使變量定義再簡單,或者變量比較多,也最好分行進(jìn)行變量的聲明。也就是說,一行聲明一個(gè)變量。這可以提高代碼的可閱讀性。而且有時(shí)候往往需要對變量加一個(gè)注釋說明變量的用途,如果以行定義一個(gè)變量,添加行注釋也相對簡單許多。
    總之,以上的這些折行的規(guī)則基本上不會(huì)影響到代碼的運(yùn)行。但是,對于代碼的維護(hù)與后續(xù)的排錯(cuò)、升級(jí)、二次開發(fā)等等具有不可忽視的作用。而且現(xiàn)在基本上應(yīng)用程序開發(fā)式團(tuán)隊(duì)開發(fā),故大家都遵守同樣的代碼編寫規(guī)范是非常重要的。筆者在開發(fā)一個(gè)應(yīng)用程序的時(shí)候,事先都會(huì)花一定的時(shí)間,跟項(xiàng)目成員強(qiáng)調(diào)這些折行的規(guī)則。目的只有一個(gè),就是提高代碼的可讀性,便于后續(xù)代碼的共享與維護(hù)。畢竟后續(xù)面對這些代碼的,并不是客戶,而是我們自己。我們程序員在編寫代碼的時(shí)候,不能夠搬起石頭砸自己的腳。筆者認(rèn)為,現(xiàn)在一個(gè)合格的程序人員,不僅技術(shù)功底上要過得硬,而且還必須要遵守這些“無形規(guī)則”的約束。難怪現(xiàn)在這么多企業(yè)在挑選程序開發(fā)人員的時(shí)候,都會(huì)注明“良好的編碼規(guī)范”,F(xiàn)在對于這些無形中的條條框框,項(xiàng)目經(jīng)理已經(jīng)開始重視起來。


本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u3/110004/showart_2150480.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP