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

沒(méi)有好詞典,別做程序員

開(kāi)發(fā) 項(xiàng)目管理
許多程序員認(rèn)為編程時(shí),如何命名不僅是他們面臨的老大難問(wèn)題,也是最重要的事情之一。

許多程序員認(rèn)為編程時(shí),如何命名不僅是他們面臨的老大難問(wèn)題,也是最重要的事情之一。

上周,我發(fā)起了一個(gè)《程序員編程中的老大難問(wèn)題》的投票,主要是基于最近Quora上的跟帖討論,根據(jù)大家的反響和投票結(jié)果,有一項(xiàng)投票***,穩(wěn)居***。對(duì)于軟件開(kāi)發(fā)人員來(lái)說(shuō),***的難題是:如何命名(例如:給變量,類,函數(shù)和過(guò)程命名等等)。

對(duì)于這個(gè)結(jié)果,我多少有點(diǎn)意外,因?yàn)樽鳛橐粋€(gè)多年的開(kāi)發(fā)人員,我不會(huì)投給這一項(xiàng)(我想我會(huì)投給“修改或維護(hù)別人的代碼”)。但是真正讓我驚訝的是,看起來(lái)好像不怎么重要的命名居然排列***,跟期待的結(jié)果實(shí)在差太遠(yuǎn)了。下面是投票結(jié)果的分布圖。

programmers_hardest_tasks-600x700

該結(jié)果是來(lái)自Quora問(wèn)答網(wǎng)站和更早的Ubuntu論壇跟帖的4500個(gè)開(kāi)發(fā)者的投票。如何命名一項(xiàng)的選票幾乎是其它八項(xiàng)的投票結(jié)果的總和,哇!

的確,這些基于自我篩選的群體的投票結(jié)果是完全不科學(xué)的。但是我認(rèn)為這個(gè)結(jié)果還是有一定意義的,換句話說(shuō),如何命名的確是個(gè)很棘手的問(wèn)題,許多非編程人員可能會(huì)意識(shí)不到。

幾年前在StackExchange社區(qū)里對(duì)于這個(gè)話題剛好有個(gè)跟帖,為了強(qiáng)調(diào)這一點(diǎn),我引用了一些內(nèi)容是關(guān)于程序員在編程中對(duì)于命名的的痛苦和糾結(jié)。

“我確實(shí)在編程的時(shí)候花了很多時(shí)間在考慮如何命名。” 

“我不得不同意命名是一門藝術(shù)。” 

“如果你想要提高代碼的可讀性,命名的確很重要。” 

我認(rèn)為***一條抓住了部分核心,解釋了命名為什么會(huì)這么難,因?yàn)樗匾?。?zhǔn)確的命名可以提高代碼的可讀性,讓人容易理解,方便調(diào)試,也給以后修 改和維護(hù)你的代碼的人帶來(lái)方便。一旦開(kāi)始做了,很快你會(huì)發(fā)現(xiàn)要想出一個(gè)簡(jiǎn)潔又準(zhǔn)確的名字沒(méi)那么容易。就像Jeff Atwood 所寫(xiě)的:

“想出好的命名的確很難,但是有難的道理,因?yàn)楹玫拿枰挥靡粌蓚€(gè)單詞出表達(dá)你的根本意思。” 

而且,許多人認(rèn)為,正確的命名能幫你寫(xiě)出好的代碼。如果不能為一個(gè)變量或者函數(shù)想出一個(gè)清晰又簡(jiǎn)潔的名字,那可能是你的代碼有問(wèn)題。那樣的話,你就得考慮重寫(xiě)或者進(jìn)行代碼重構(gòu)了。

“通常,如果你無(wú)法想出一個(gè)合適的名字,意味著你的設(shè)計(jì)可能有問(wèn)題。你的一個(gè)方法里是不是實(shí)現(xiàn)了太多的功能?或者你的類的封裝,凝聚性不夠強(qiáng)?” 

“我的經(jīng)驗(yàn)是如果無(wú)法給你的類想出一個(gè)合適的名字,大多數(shù)情況都是你的類有問(wèn)題:你可能不需要這個(gè)類,它有點(diǎn)多余了” 

“命名難也不見(jiàn)得是壞事兒,它可以迫使你去認(rèn)真思考你的類到底想要實(shí)現(xiàn)什么功能。”

長(zhǎng)話短說(shuō):如果你想要學(xué)習(xí)編程,一定要給自己準(zhǔn)備一本好詞典。

原文鏈接:http://www.itworld.com/cloud-computing/379566/don-t-go-programming-if-you-don-t-have-good-thesaurus

責(zé)任編輯:陳四芳 來(lái)源: 伯樂(lè)在線
相關(guān)推薦

2012-02-21 09:22:45

2020-06-15 09:32:59

程序員大公司小公司

2012-11-01 11:31:56

程序員編程開(kāi)發(fā)

2015-03-31 13:56:14

程序員升級(jí)Windows 1Build 10049

2011-04-28 09:26:06

程序員

2023-05-09 08:59:09

ChatGPT程序員裁員

2017-12-27 15:11:22

程序員項(xiàng)目軟件公司

2019-08-30 11:05:38

程序員碼農(nóng)監(jiān)測(cè)

2011-07-05 11:08:05

程序員

2013-08-20 09:33:59

程序員

2012-03-06 09:22:46

程序員

2019-10-16 11:51:31

程序員人生第一份工作跳槽那些事兒

2009-03-12 10:29:10

程序員年齡職場(chǎng)

2013-08-08 10:02:08

2011-05-13 14:34:02

程序員

2020-12-21 08:24:21

程序員設(shè)備加班

2009-05-21 15:58:12

程序員工作經(jīng)驗(yàn)職場(chǎng)

2012-07-27 09:26:53

程序員

2011-07-13 15:23:22

程序員

2021-03-08 08:42:05

程序員技術(shù)體力勞動(dòng)
點(diǎn)贊
收藏

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