最近在閱讀《刻意練習》,怎樣運用刻意練習提升本身的編程水平有點想法:git
刻意練習的重點在於刻意,刻意的針對本身薄弱的環節,不斷的重複練習,從而提升本身,而不是無心思的重複本身已經熟悉的方面練習。程序員
刻意練習的另外一個方面及時的反饋。及時反饋是爲了能讓練習者儘快的知道本身作的對仍是不對。從而知道本身在應該在哪一個方面作刻意的練習。編程
對於程序員來講,代碼是否能正確的運行,是否能到達須要的效率。這樣的及時反饋很容易,只須要執行一下代碼,測試一下就知道結果了。測試
而對於命名,代碼結構,實現邏輯上是否合理,這樣對代碼質量的反饋有點難度。編碼
那麼,程序員在工做中如何解決這樣的問題?3d
在編寫代碼的時候,程序員爲了快速實現功能,每每着忽略了代碼質量怎麼樣。因此在命名,代碼結構,實現邏輯上,使用的都是潛意識中已有的經驗。blog
而回看,就是從新把注意力放回在命名,代碼結構,實現邏輯上,有意識的思考本身實現的代碼是否合理,從而提升本身的編程水平。源碼
這是經過本身對本身的反饋,而進行的一種刻意的練習。it
比本身水平高的人看本身的代碼,能夠指出本身不足的地方,幫助本身提升編碼質量。效率
比本身水平低的人看本身的代碼,若是看不懂,說明本身命名不合適,實現過於複雜,或者註釋的不夠。幫助本身反思本身的編碼質量。
這是經過別人對本身的反饋,而進行的一種刻意的練習。
看別人的代碼,能夠看看團隊中水平比較高的隊員的代碼。也能夠去githup上去看一些有名的項目的源碼。
看以前先思考一下,若是是你本身實現的話,你會怎麼實現,而後在看源碼,看看哪些地方與本身想的不同,是你本身的實現方式好,仍是源碼的好,好在哪裏。
這樣才能吸取別人在編碼中的長處,看到本身的短處,而後把別人的長處化爲己有,才能提升本身的編碼質量。
可是以上三點都須要花費額外的時間。而程序員的工做通常都很忙,常常不是正在加班,就是在準備加班。
儘管一些公司有代碼審覈機制,但絕大多數的公司是沒有的。因此不少程序員沒有時間提升本身的編碼質量。這纔有了一些人儘管有十年的工齡,但只是把一年經驗使用了十年。
可是站在本身的角度看,提高本身的實力纔是最重要的。因此不管如何天天抽出一點時間提升本身的編碼質量。
站在公司的角度看,把一個花5000元招來的程序員,提升到7000元的水平。公司不就賺了嗎?
####編程水平的提高有沒有盡頭? 這就像問誰的文章寫的最好?編程跟寫文章同樣,沒有寫的最好,只有寫的更好。不論到何時,編程水平都有提高的可能。