當(dāng)前位置:首頁 > 芯聞號(hào) > 充電吧
[導(dǎo)讀]1、代碼格式不可忽略,必須嚴(yán)肅對待。代碼格式關(guān)乎溝通,而溝通是專業(yè)開發(fā)者的頭等大事。 2、在java中,文件尺寸與類尺寸極其相關(guān)。 3、源文件名稱本身應(yīng)該足夠告訴我們是否在正確的模塊中。源文件最頂部應(yīng)

1、代碼格式不可忽略,必須嚴(yán)肅對待。代碼格式關(guān)乎溝通,而溝通是專業(yè)開發(fā)者的頭等大事。

2、在java中,文件尺寸與類尺寸極其相關(guān)。

3、源文件名稱本身應(yīng)該足夠告訴我們是否在正確的模塊中。源文件最頂部應(yīng)該給出高層概念和算法。細(xì)節(jié)應(yīng)該往下漸次展開,直至找到源文件中最底層的函數(shù)和細(xì)節(jié)。

4、幾乎所有的代碼都是從上往下讀,從左往右讀。每行展現(xiàn)一個(gè)表達(dá)式或一個(gè)子句,每組代碼行展示一條完整的思路。這些思路用空白行區(qū)隔開來。

5、如果說空白行隔開了概念,靠近的代碼行則暗示了它們之間的緊密關(guān)系。所以,緊密相關(guān)的代碼應(yīng)該互相靠近。

6、關(guān)系密切的概念應(yīng)該相互靠近。顯然,這條規(guī)則并不適用于分布在不同文件中的概念。除非有很好的理由,否則就不要把關(guān)系密切的概念放在不同的文件中。實(shí)際上,這也是避免使用protected變量的理由之一。

7、對于那些關(guān)系密切、放置同一源文件的概念,它們之間的區(qū)隔應(yīng)該成為對相互的易懂度有多重要的衡量標(biāo)準(zhǔn)。應(yīng)避免迫使讀者在源文件和類中跳來跳去。

8、變量聲明應(yīng)盡可能靠近其使用位置。因?yàn)楹瘮?shù)很短,本地變量應(yīng)該在函數(shù)的頂部出現(xiàn)。循環(huán)中的控制變量應(yīng)該總是在循環(huán)語句中聲明。偶爾,在較長的函數(shù)中,變量也可能在某個(gè)代碼塊頂部,或在循環(huán)之前聲明。

9、實(shí)體變量應(yīng)該在類的頂部聲明。這應(yīng)該不會(huì)增加變量的垂直距離,因?yàn)樵谠O(shè)計(jì)良好的類中,它們?nèi)绻皇潜活惖乃蟹椒ㄒ彩窃诒淮蠖鄶?shù)方法所用。

10、若某個(gè)函數(shù)調(diào)用了另外一個(gè),就應(yīng)該把它們放到一起,而且調(diào)用者應(yīng)該盡可能放在被調(diào)用者上面。這樣,程序就有個(gè)自然的順序。若堅(jiān)定地遵循這條約定,讀者將能夠確信函數(shù)聲明總會(huì)在其調(diào)用后很快出現(xiàn)。

11、概念相關(guān)的代碼應(yīng)該放到一起。相關(guān)性越強(qiáng),彼此之間的角力就該越短。相關(guān)性應(yīng)建立在直接依賴的基礎(chǔ)上,如函數(shù)間調(diào)用,或函數(shù)使用某個(gè)變量。但也有其他相關(guān)性的可能。相關(guān)性可能來自于執(zhí)行相似操作的一組函數(shù)。 12、一般而言,我們想自上而下展示調(diào)用依賴順序。也就是說,被調(diào)用的函數(shù)應(yīng)該放在執(zhí)行調(diào)用的函數(shù)下面。這樣就建立了一種自頂向下貫穿源代碼模塊的良好信息流。

13、一行代碼應(yīng)該有多寬?程序員更喜愛短行代碼。所以,應(yīng)盡力保持代碼行短小。死守80個(gè)字符的上限有點(diǎn)僵化,而且我也并不反對代碼行長度達(dá)到100個(gè)字符或120個(gè)字符。再多的話,大抵就肆意妄為了。

14、我們使用空格字符將彼此緊密相關(guān)的事物連接到一起,也用空隔把關(guān)系性弱的事物分隔開。賦值語句有兩個(gè)確定而重要的要素:左邊和右邊。空格字符加強(qiáng)了分隔效果。另一方面,不在函數(shù)名和左圓括號(hào)之間加空格。這是因?yàn)楹瘮?shù)與其參與密切相關(guān),如果分隔開,就會(huì)顯得互無關(guān)系。把函數(shù)調(diào)用括號(hào)中的參數(shù)一 一 隔開,強(qiáng)調(diào)逗號(hào),表示參數(shù)是互相分離的。

15、乘法因子之間不加空格,因?yàn)樗鼈兙哂休^高優(yōu)先級(jí)。加減法運(yùn)算項(xiàng)之間用空格隔開,因?yàn)榧臃ê蜏p法優(yōu)先級(jí)較低。但是多數(shù)代碼格式化工具都會(huì)漠視運(yùn)算符優(yōu)先級(jí),從頭到尾采用同樣的空格方式。

16、水平對齊,像是在強(qiáng)調(diào)不重要的東西,把程序員的目光從真正意義上拉開。建議用不對齊的聲明和賦值。如果有較長的列表需要做對齊處理,那問題就是在列表的長度上而不是對齊上。

17、源文件是一種繼承結(jié)構(gòu),而不是一種大綱結(jié)構(gòu)。其中的信息涉及整個(gè)文件、文件中每個(gè)類、類中的方法、方法中的代碼塊,也涉及代碼塊中的代碼塊。這種繼承結(jié)構(gòu)中的每一層級(jí)都圈出一個(gè)范圍,名稱可以在其中聲明,而聲明和執(zhí)行語句也可以在其中解釋。要讓這種范圍式繼承結(jié)構(gòu)可見,我們依源代碼在繼承結(jié)構(gòu)中的位置對源代碼行做縮進(jìn)處理。在文件頂層的語句,例如大多數(shù)的類聲明,根本不縮進(jìn)。類中的方法相對該縮進(jìn)進(jìn)一個(gè)層級(jí)。方法的實(shí)現(xiàn)相對聲明縮進(jìn)一個(gè)層級(jí)。代碼塊的實(shí)現(xiàn)相對于其容器代碼縮進(jìn)塊縮進(jìn)一個(gè)層級(jí),以此類推。

18、程序員相對依賴這種縮進(jìn)模式。他們從代碼左邊查看自己在什么范圍中工作。這讓他們能快速跳過與當(dāng)前關(guān)注的情形無關(guān)的范圍,例如if或while語句的實(shí)現(xiàn)之類。他們的眼光掃過左邊,查找新的方法聲明、新變量,甚至新類。沒有縮進(jìn)的話,程序就會(huì)變得無法閱讀。

19、有時(shí),while或for語句的語句體為空,如果無法避免,就確??辗秶w的縮進(jìn),用括號(hào)包圍起來。

20、每個(gè)程序員都有自己喜歡的格式規(guī)則,但如果在一個(gè)團(tuán)隊(duì)中工作,就是團(tuán)隊(duì)說了算。一組開發(fā)者應(yīng)當(dāng)認(rèn)同一種格式風(fēng)格,每個(gè)成員都應(yīng)該采用那種風(fēng)格。




本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉