碼,碼,碼不停!
本文翻譯自Roy Greenfeld的博文,文末已上原文連結。
往往看的一些中文部落格都是嚴重複制的,因此我決定還是看一些外文的技術部落格,接觸一些真正技術專家的思想,同時也保持自己的英語閱讀能力,這就是我翻譯這篇博文的原因。
Roy Greenfeld是《Two Scoops of Django》的作者,他的部落格裡面很多關於Python的技巧方法,另外在Django方面作者貢獻了非常多的內容和開源專案。
我常常會被被新手程式員問到,他們如何才能夠“專業地"使用他們的編碼技能。或者他們如何才能在編寫軟體方面做得更好。
如何提高你的編碼技巧
接下來我所闡述的是我的方法,但它可能不是你最適合的方法。這一系列方法也沒有任何特定順序,所有這些方法都適用於你開始採用這些方法的那一刻。
-
我寫程式碼,並且寫了很多。為了工作和娛樂,我從起初碼一些愚蠢的小指令碼到自動化任務,再到嘗試完整的專案。期間我也曾失敗了很多次,但一路上學到了很多。
-
我沒有從一門語言跳到另一門語言。相反,我多年來一直呆在一些地方,專注於學習這些工具。我二十多年的職業生涯可以概括為FoxPro,然後是Java,然後是Python。在這期間我也拾起了JavaScript的一些知識。當然,我已經完成了一些事情(Lisp,Haskell,Lua,Perl,ColdFusion,Go),但是得利於專注於一小組工具,我擺脫了平庸。
-
我寫了很多程式碼。是的,這是#1的重複。
-
一旦掌握了語言的基礎知識,我就會為每個語言查詢最佳實踐。然後我虔誠地堅持了他們,甚至對此也是教條主義者。通常,這意味著我的程式碼更容易閱讀。更容易除錯。最重要的是,更容易分享。
-
我已經提過了我寫了很多程式碼嗎?除非你練習,否則你永遠不會擅長任何事情。 #1的另一個重複。
-
我克服了提問的恐懼/驕傲。好吧,大多數情況下,我仍然時不時害怕/驕傲。老實說,通過提問你沒有表現出你不知道的問題,你表明你願意學習。此外,弄清楚如何提出問題的簡單行為可以讓您以正確的心態來確定自己的答案。
-
當我問一個問題時,無論我是否得到答案,我都會編寫更多內容。程式碼,程式碼,程式碼!又是#1的重複
-
一旦我掌握了語言,我就會在上面查詢操作手冊(cookbooks)或口袋性的指南書(pocket references)。我更喜歡紙質版的科技類書籍(我讀的其他類別的書籍都是電子版)。操作指南書中的所提及的高階知識成為我工具包的基礎。口袋參考中簡潔易懂的提醒意味著更少的認知獲取。
-
我掌握了那些從指南書和參考文獻中的技巧與方法,並利用它們編寫程式碼。我一次又一次編碼。在工作時間或遊戲時間。實踐變得完美!為什麼我要繼續重複#1?
-
多年來,我一直在使用最容易上手且穩定IDE 或是文字編輯器。誠然,我知道存在很多強大的工具,可以使用一些出神入化的命令(如Vim,EMACS等)。但我不想停止我正在做的工作來學習一些新的工具。我想編碼,而不是修補桌面IDE或神祕的文字編輯器。
-
再次,回到#1,我使用的是文字編輯器編寫程式碼。碼,碼,碼不停!直到我的手受到損傷,直到我不得不學習如何處理腕管綜合症。程式碼,程式碼,程式碼!這就像學習武術,吉他或任何東西一樣,重複簡單的動作可以讓你有信心將這些動作組合成更大的東西或者學習更復雜的東西。
我希望自己完成的任務
-
學習電腦科學。如果我能重新做到這一點,那將是我學術研究的重點。它不會替換我列表中的任何內容,我定義的方法保持不變。碼,碼,碼不停!
-
不得不說,我應該尋找更多的個性化指導。沒有什麼可以像教練(線上或面對面均可)那樣可以引導你走上正確的道路。然後你可以碼,碼,碼不停!
實踐是檢驗真理的唯一標準,這樣看起來實踐才是學習的完美方法,對吧?
英文原文出處:
ofollow,noindex" target="_blank">https://www.pydanny.com/code-code-code.html