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

為什么要練習(xí)編碼套路(Code Kata)?

移動開發(fā)
編碼套路(Code Kata)這個概念是《程序員修煉之道:從小工到專家》的作者之一Dave Thomas提出的。Ruby開始盛行的時(shí)候,Dave也成為了該語言的最重要的傳播者之一。那時(shí)他寫了很多關(guān)于Ruby和Rails起源的哲學(xué)和市場語境的文章。他也因此學(xué)習(xí)了很多敏捷方法和概念。正是在這種背景下,Dave提出了編碼套路的代碼學(xué)習(xí)技巧,并開始推廣。

[[155877]]

背景

編碼套路(Code Kata)這個概念是《程序員修煉之道:從小工到專家》的作者之一Dave Thomas提出的。Ruby開始盛行的時(shí)候,Dave也成為了該語言的最重要的傳播者之一。那時(shí)他寫了很多關(guān)于Ruby和Rails起源的哲學(xué)和市場語境的文章。他也因此學(xué)習(xí)了很多敏捷方法和概念。正是在這種背景下,Dave提出了編碼套路的代碼學(xué)習(xí)技巧,并開始推廣。

這個概念主要指的是,針對某一種特定技術(shù)或技能進(jìn)行重復(fù)性的練習(xí),從而將其熟練掌握。套路(Kata)這個概念借鑒于武術(shù),指的是可以獨(dú)自或多人共同練習(xí)的一系列動作、招式。當(dāng)然,這個詞還可以用來描述武術(shù)中的其他動作,比如高度模擬實(shí)戰(zhàn)的練習(xí)等。

據(jù)維基百科介紹:

起初,套路是教授和練習(xí)武術(shù)的方法,通過這種途徑得以保存和傳承許多成功的戰(zhàn)斗技巧。練習(xí)套路,可以讓一組人通過系統(tǒng)的方式,而不是單人、無序的方式,進(jìn)行艱苦的武術(shù)訓(xùn)練。

武術(shù)中使用套路(Kata)的主要目的,在于傳遞行之有效的技巧,并且重復(fù)地訓(xùn)練。這可以讓學(xué)習(xí)者練成條件反射式地、自然而然地做出這些動作。而要達(dá)到這個目的,關(guān)鍵不在于系統(tǒng)地練習(xí),而是將動作和技巧內(nèi)化,做到根據(jù)不同的需要進(jìn)行變化。

對編碼套路的態(tài)度

關(guān)于用這個方法來練習(xí)編程技巧,人們對此有三種看法:鄙視,中立,贊成欣賞。中立的人群認(rèn)為并不能從這種反復(fù)編寫同樣一個問題的方法中學(xué)到什么,鄙視這種方法的人們也這么認(rèn)為,不過反對的程度更深。剩下來的便是欣賞這種方法的人了,他們認(rèn)為反復(fù)編寫同一個問題,或者編寫很多小的代碼程序例子,是有一定用處的。

我也贊成這種方法。我從去年開始斷斷續(xù)續(xù)學(xué)習(xí)編程,中間犯的一個錯誤就是練習(xí)少,沒有及早的認(rèn)識到這是一門要在“干中學(xué)”的學(xué)科。***次了解編碼套路,還是在codewars網(wǎng)站,而接觸這種技巧的時(shí)候,我已經(jīng)磕磕碰碰學(xué)習(xí)編程有大半年的時(shí)間了。

練習(xí)的重要性

練習(xí),作為一種學(xué)習(xí)方法是適用各個領(lǐng)域的,不僅僅限于武術(shù),還包括彈奏樂器、提升體育競技水平、準(zhǔn)備演講和提升對語法和書寫的掌握。業(yè)界知名程序員、《程序員的吶喊》的作者Steve Yegge,就曾經(jīng)在一篇文章中提到了練習(xí)(鍛煉)的重要性。

我認(rèn)識很多杰出的程序員——這是在亞馬遜工作***的額外“福利”之一。如果仔細(xì)觀察他們,你會發(fā)現(xiàn)他們時(shí)時(shí)都在鍛煉。他們已經(jīng)很優(yōu)秀了,但他們?nèi)匀徊煌憻?。他們鍛煉的方法林林總總,而我在這篇文章中只會介紹其中的幾種。據(jù)我了解,這些杰出程序員之所以如此成功,就是因?yàn)樗麄円恢痹阱憻挕?**的身材要靠定期的鍛煉才能獲得,而且必須堅(jiān)持鍛煉才能保持,否則身材就會走形。對于編程和軟件工程來說,道理是一樣的。

如何練習(xí)編碼套路

Dave Thomas認(rèn)為可以將套路作為學(xué)習(xí)編程的一種技巧。方法很簡單:每一個編碼套路,都是一個簡單的編碼難題,容易解決,可以讓練習(xí)者不斷的嘗試,直到***。這樣做的目的,就是幫助練習(xí)者每一次都能夠找到更好的解決方法。練習(xí)者甚至可以對套路定下各種限制,比如說要使用一種自己不常用的語言。

幫助編程學(xué)習(xí)者進(jìn)行套路練習(xí)的網(wǎng)站有很多。知道這類編程練習(xí)網(wǎng)站之后,我做了一些搜索,收藏了一些國外程序員推薦的站點(diǎn),在這里推薦給大家。

練習(xí)編碼套路,貴在堅(jiān)持、專注。當(dāng)然,練習(xí)到了一定的水平之后,確實(shí)再做一些簡單的題目,很難有較大的提高。建議高水平的朋友,往人工智能、大數(shù)據(jù)、自然語言處理這些高階話題練習(xí)。

編程派會怎么做

我還是一個初學(xué)者,所以我會繼續(xù)堅(jiān)持做編碼套路練習(xí)。每一個我覺得有一定難度、可以延伸的套路,我都會詳細(xì)記錄下我的解法,或者找到網(wǎng)絡(luò)上更好的解法,與大家分享,一同學(xué)習(xí)編程,一起進(jìn)步,爭取能夠成為黑段高手。這也是我在本站開設(shè)練習(xí)板塊的初衷。

[[155879]]

 

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

2013-03-12 14:30:09

Ubuntu操作系統(tǒng)

2015-08-06 10:14:15

造輪子facebook

2022-08-15 08:27:02

基站網(wǎng)絡(luò)

2019-09-30 07:50:51

ITOps云端ITOM

2018-05-23 00:20:29

2009-12-17 15:18:47

2016-08-19 16:27:52

數(shù)據(jù)庫Mongo DB開發(fā)

2017-04-05 18:10:05

R語言開發(fā)Ross

2022-11-28 09:58:58

C++開發(fā)

2022-03-30 08:21:57

合并HTTP

2021-03-16 08:35:14

Kubernetes Docker容器

2012-06-18 14:51:09

Python

2019-12-26 14:52:31

微軟CortanaAndroid

2024-08-28 10:49:47

2017-09-08 08:35:16

Android代碼API設(shè)計(jì)

2024-10-17 16:41:57

KafkaZooKeeper

2014-08-25 10:00:18

開源

2015-05-12 11:04:42

Java EE學(xué)習(xí)Java EE

2019-03-19 08:59:13

物聯(lián)網(wǎng)IOT技術(shù)

2019-11-27 10:25:15

SaaS云端IT架構(gòu)
點(diǎn)贊
收藏

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