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

編寫優(yōu)秀代碼的10個(gè)技巧

移動開發(fā) Android
作為程序員,寫代碼是需要一種崇高無上的精神來支撐的,寫出優(yōu)秀的代碼,更需要你有深厚的底蘊(yùn)和良好的編碼習(xí)慣。在介紹寫優(yōu)秀代碼的10個(gè)技巧之前,我們先來探討一下什么樣的代碼才是優(yōu)秀的代碼。

[[117037]]

作為程序員,寫代碼是需要一種崇高無上的精神來支撐的,寫出優(yōu)秀的代碼,更需要你有深厚的底蘊(yùn)和良好的編碼習(xí)慣。在介紹寫優(yōu)秀代碼的10個(gè)技巧之前,我們先來探討一下什么樣的代碼才是優(yōu)秀的代碼。

穩(wěn)定可靠(Robustness)
可維護(hù)且簡潔(Maintainable and Simple Code)
高效(Fast)
簡短(Small)
共享性(Reusable)
可測試性(Testable)
可移植性(Portable)
面對以上的目標(biāo),我們總結(jié)了以下10個(gè)寫代碼的技巧,希望對你有所幫助。

1、百家之長歸我所有

其實(shí)寫代碼的方式有很多,每個(gè)人都有自己的風(fēng)格,但是眾多的風(fēng)格中總有一些共性的、基本的寫代碼的風(fēng)格,如為程序?qū)懽⑨?、代碼對齊,等等。是不是編程規(guī)范?對就是編程規(guī)范。

2、取個(gè)好名字

取個(gè)好的函數(shù)名、變量名,***按照一定的規(guī)則起名。還是編程規(guī)范。

3、凌波微步,未必摔跤

這里我用“凌波微步”來形容goto語句。通常,goto語句使程序跳來跳去,不容易讀,而且不能優(yōu)化,但是在某種情況下,goto語句反而可以增強(qiáng)程序的可讀性。Just go ahead,not go back。

4、先發(fā)制人,后發(fā)制于人

Defensive Coding指一些可能會出錯(cuò)的情況,如變量的初始化等,要考慮到出現(xiàn)錯(cuò)誤情況下的處理策略。測試時(shí)要多運(yùn)行幾個(gè)線程。有些程序在一個(gè)線城下運(yùn)行是正常的,但是在多個(gè)線程并行運(yùn)行時(shí)就會出現(xiàn)問題;而有些程序在一個(gè)CPU運(yùn)行幾個(gè)線程是正常的,但是在多個(gè)CPU下運(yùn)行時(shí)就會出現(xiàn)問題,因?yàn)閱蜟PU運(yùn)行線程只是狹義的并行,多CPU一起運(yùn)行程序,才是真正的并行運(yùn)算。

5、見招拆招,滴水不漏

這里的Error Case(錯(cuò)誤情況),是指那些不易重視的錯(cuò)誤。如果不對Error Case進(jìn)行處理,程序在多數(shù)情況下不會出錯(cuò),但是一旦出現(xiàn)異常,程序就會崩潰。

6、熟習(xí)劍法刀術(shù),所向無敵

用“劍法刀術(shù)”來形容一些API是因?yàn)樗鼈兌际墙?jīng)過了很多優(yōu)秀開發(fā)人員的不斷開發(fā)、測試,其效率很高,而且簡潔易懂,希望大家能掌握它,熟悉它,使用它。是不是象我們的ULIB。

7、雙手互搏,無堅(jiān)不摧

這里的測試不是指別人來測試你的代碼,而是指自己去測試。因?yàn)槟闶菍懘a的原作者,對代碼的了解最深,別人不可能比你更了解,所以你自己在測試時(shí),可以很好地去測試哪些邊界條件,以及一些意向不到的情況。

8、活用斷言

斷言(assertion)是個(gè)很好的調(diào)試工具和方法,希望大家能多用斷言,但是并不是所有的情況下都可以用到斷言。有些情況使用斷言反而不合適。

9、草木皆兵,不可大意

是指在寫代碼時(shí),要小心一些輸入的情況,比如輸入文件、TCP的sockets、函數(shù)的參數(shù)等等,不要認(rèn)為使用我們的API的用戶都知道什么是正確的、什么是錯(cuò)的,也就是說一定要考慮到對外接口的出錯(cuò)處理問題。

10、***境界,無招勝有招

意思就是說盡量避免寫太多的代碼,寫的越多,出錯(cuò)的機(jī)會也越多。***能重用別人開放的接口函數(shù)或直接調(diào)用別人的api。

本文鏈接:http://www.apkbus.com/android-11386-1.html

責(zé)任編輯:chenqingxiang 來源: apkbus
相關(guān)推薦

2023-03-27 15:05:10

Python技巧

2014-09-12 10:38:01

程序員代碼

2017-09-14 12:45:35

2025-01-14 00:01:01

2022-07-18 10:15:16

Python

2020-05-08 19:52:31

Reactreact.js前端

2021-12-04 23:10:02

Java代碼開發(fā)

2024-01-30 08:54:05

JavaScript技巧代碼

2021-02-23 10:48:30

Python代碼開發(fā)

2017-06-19 15:46:08

LinuxBash腳本技巧

2017-08-15 11:32:21

LinuxBash腳本技巧

2019-12-12 10:23:34

Linux 代碼 開發(fā)

2020-08-06 16:34:48

Python開發(fā)工具

2020-02-25 20:55:20

JavaScript開發(fā) 技巧

2017-08-30 11:10:25

代碼

2017-08-30 19:32:08

代碼程序員編程

2023-04-14 08:10:59

asyncawait

2020-06-23 07:50:13

Python開發(fā)技術(shù)

2022-08-28 19:03:18

JavaScript編程語言開發(fā)

2023-07-30 17:10:32

TypeScript開發(fā)
點(diǎn)贊
收藏

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