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

編寫傻瓜式的代碼

移動開發(fā)
在過去的幾個月里,我研發(fā)了一種編寫代碼的方法。每當(dāng)我寫一個新函數(shù)、類或方法時,我就問自己:「這段代碼足夠傻瓜式嗎?」如果不夠傻瓜式,就說明沒完事,我盡量使其傻瓜式一些。

[[154940]]

在過去的幾個月里,我研發(fā)了一種編寫代碼的方法。每當(dāng)我寫一個新函數(shù)、類或方法時,我就問自己:「這段代碼足夠傻瓜式嗎?」如果不夠傻瓜式,就說明沒完事,我盡量使其傻瓜式一些。

但是,傻瓜式的代碼不代表「無法運(yùn)行的代碼」。傻瓜式的代碼應(yīng)該完全按照預(yù)期的方式運(yùn)行,不過,是以盡可能簡單、直接、「傻瓜式的」方式。

任何人能編寫它,閱讀它的任何人都應(yīng)該能夠理解它。它不應(yīng)該使閱讀代碼的人思考代碼本身,而是思考手頭的問題。不應(yīng)該花太長時間,不應(yīng)該太復(fù)雜,最重要的是,不應(yīng)該嘗試更聰明的方式。它應(yīng)該能夠搞定工作,僅此而已。

傻瓜式的代碼是什么樣子呢?這取決于它正試圖解決的問題。拿元編程注1做例子,哪種語言經(jīng)常被視作復(fù)雜和「具有妖術(shù)」。問自己「這段代碼足夠傻瓜式嗎」就意味著「不允許元編程嗎」嗎?不一定,真的。在一些特定情況下,通過元編程就可以用最簡單的方式解決某個問題。但是,也有很多情況是不需要元編程的,解決方案之上的額外包袱,有礙于理解代碼本來的樣子。

目標(biāo)是甩掉包袱,削弱它,直到誕生出最傻瓜式、但可運(yùn)行、測試通過的代碼。

記住這里說的「傻瓜式」:「it works」還不夠好。過于復(fù)雜、「看看這個更聰明的技巧」、過度抽象、難以閱讀的代碼,也能運(yùn)行且通過了測試。這不是我想要的。它必須是傻瓜式的:不聰明、不復(fù)雜、不難于理解。

除了稱為「傻瓜式」,最終的代碼也被稱為「優(yōu)雅」、「干凈」和「簡潔」。但是「編寫傻瓜式的代碼」不像「編寫優(yōu)雅的代碼」那樣不可捉摸,前者貌似更容易達(dá)到,使得這種方式對我更有價值。除此之外,我發(fā)現(xiàn)從「編寫傻瓜式的代碼」入手較為容易,最終得到優(yōu)于其它方式的、優(yōu)雅的解決方案。

不是每一個優(yōu)雅的解決方案都是直接的,但是,每個定義的「傻瓜式」的解決方案都是、且都應(yīng)該是優(yōu)雅的。

注釋

元編程是指某類計算機(jī)程序的編寫,這類計算機(jī)程序編寫或者操縱其它程序(或者自身)作為它們的數(shù)據(jù),或者在運(yùn)行時完成部分本應(yīng)在編譯時完成的工作。多數(shù)情況下,與手工編寫全部代碼相比,程序員可以獲得更高的工作效率, 或者給與程序更大的靈活度去處理新的情形而無需重新編譯

責(zé)任編輯:倪明 來源: 臘八粥
相關(guān)推薦

2016-10-07 19:55:12

ossimNagios

2017-09-04 09:21:11

機(jī)器學(xué)習(xí)傻瓜指南

2009-10-19 14:07:56

博科資訊傻瓜式管理管理軟件

2015-04-23 16:34:29

軟件開發(fā)過程傻瓜式軟件

2023-01-09 08:43:34

2011-03-23 13:46:37

2013-03-22 13:54:09

追信魔盒傻瓜式App制作

2013-03-22 13:37:55

安米網(wǎng)傻瓜式App制作

2009-07-24 10:41:00

asp.net mvc

2013-03-22 13:42:39

簡網(wǎng)App工廠傻瓜式

2012-12-30 21:22:08

移動辦公Windows Ser

2021-09-06 09:45:54

Windows操作系統(tǒng)功能

2021-11-26 21:31:26

Windows 11Windows微軟

2011-09-21 09:18:12

2013-03-25 17:35:23

jimu傻瓜式App制作

2021-10-30 06:54:36

Windows 11操作系統(tǒng)微軟

2021-03-25 14:17:19

iOS 11越獲iPhone

2020-10-26 13:16:06

騰訊抖音App

2021-12-05 23:07:32

二手電腦電商筆記本

2021-05-13 05:23:39

手機(jī)應(yīng)用PictureClea
點(diǎn)贊
收藏

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