01.13 11個提升編程能力的小方法

編程是當今社會最為實用的技能之一。從能夠創造一個公司網站到知道怎麼修復一個重定向錯誤,這些技能帶來的價值,不管是對僱主還是對程序員自身,都是無法估量的。

但是,保持你當前的狀態,停滯不前,那你永遠無法成為一個非常優秀的程序員。所以,請認真閱讀下文,我總結了一些提升編程能力的小方法。

Step 1

清晰地分析問題。

如果在解決問題前不能先清楚問題,瞭解具體狀況,那在解決問題時,會很容易卡殼或導致局面更加混亂。


11個提升編程能力的小方法


Step 2

再三考慮如何解決問題。

整理解決方法,並再三考慮這些方法的可靠性,不建議盲目行動。


11個提升編程能力的小方法


Step 3

總結完整的需求。

花一點時間寫下產品需要達到的最終目標,並明確你的產品使用群體。在這個階段有一個清晰的認知,會節省之後的大量時間。


11個提升編程能力的小方法


Step 4

寫一個完善的執行方案或搭建完整模型。

對於一些小項目,這一步你只需要畫一個簡單的流程圖或者寫一個簡單的方程式。

對於一些更大的項目,你得把你的工作劃分成一個個小模塊,並思考以下問題:

  • 每個模塊需要完成的任務是什麼
  • 模塊之間的數據如何流通
  • 在每個模塊裡數據如何應用

雖然收集和計劃需求這一步非常乏味,並且比直接寫代碼少了很多的樂趣。但是,如果沒處理好這一步,之後花費數小時去Debug會更加的乏味。

對於花時間預先去設計項目的流程和結構這件事,你在寫下第一行代碼前就會發現,這對於實現你的最終目標,非常有幫助。


11個提升編程能力的小方法


Step 5

隨時註釋你的代碼。

如果你覺得你的代碼需要被解釋,那麼就大膽寫下你的註釋吧。每一個函數都需要一兩行註釋去解釋參數和返回結果。註釋應該更加註重表達原因,而不是單純解釋作用。更新代碼的時候請注意更新註釋。


11個提升編程能力的小方法


Step 6

對變量使用一致的命名規範。

這有助於幫你追溯變量類型,並瞭解變量的目的。這意味著你要寫的代碼不能僅僅是簡單的x = a + b * c了。當然,規範的變量名可以使你的代碼更容易調試和維持。目前流行的命名法是匈牙利命名法(駝峰式命名),變量名的前綴是它的類型。

比如,對於整數變量,你可以用intRowCounter命名,而字符串則可以用strUserName.

但不管你的命名規則是什麼,一定要保證它的一致性,和變量名的可解釋性。


11個提升編程能力的小方法


Step 7

組織好你的代碼。

用可視化的結構來表明你的代碼結構。比如,在條件語句或者循環語句下縮進一個代碼塊。在變量名和運算符間(加減乘除等)記得要空格,這是為了讓代碼看起來更美觀,易讀。


11個提升編程能力的小方法


Step 8

測試每一處。

用輸入和值來測試每個模塊,然後嘗試輸入那些可能出現又不太常見的輸入值。這會清理掉任何隱藏的bug。測試的藝術在於,你能夠通過練習,逐漸鍛煉出自己的測試能力。

測試的例子如下:

  • 極端值:對於正數值,使用0和超出預期的最大數值來測試;對於文本值,則用空字符串測試;對每一個參數用null來測試。
  • 無意義的值:即便你不相信你的用戶會輸入亂七八糟的東西,也請輸入來測試一下。
  • 不正確的數值:用0來測試那些會被用來做除法的值;當要求輸入一個正數或者用來計算平方根的數時,你可以輸入負數;當要求輸入一個字符串時,你可以嘗試輸入一個數值。


11個提升編程能力的小方法


Step 9

練習,練習,練習。

編程不是一個停滯不前的訓練過程。總有新的東西需要學習,當然,更為重要的是,要不斷複習那些舊的知識。


11個提升編程能力的小方法


Step 10

隨時準備好做出改變。

在現實的工作環境中,需求總是變化的。只要你一開始就對需求和所執行計劃足夠了解,那中途的變動也很少會導致糟糕的結果。

在開始編程前,你可以通過呈現需求文檔或者執行計劃來提升進程的清晰度。這會幫助你隨時確認所做的事是符合要求的。


11個提升編程能力的小方法


Step 11

從簡單到複雜。

當你需要處理複雜的事情時,你可以先從構造簡單的模塊開始。比如說,你想在屏幕上創造一個可以跟隨鼠標方向移動,且根據鼠標移動速度不斷變化形狀的圖形。

你可以按照下方的步驟操作:

  • 從呈現一個正方形開始,讓它跟隨鼠標移動,先解決移動路徑問題。
  • 然後,讓正方形的大小和鼠標速度關聯起來,解決速度與形狀間的關聯。
  • 最後,創造出你本來需要的圖形,並將三個元素關聯起來。
  • 這個方法導向模塊化代碼編寫,每個元素有其內部的完整模塊。這對代碼的重複使用非常有幫助,並且也會簡化調試過程。


11個提升編程能力的小方法


大家如果覺得以上內容太過抽象,不妨來點實際的。

實驗樓官網為想學習編程的同學提供了完善的虛擬操作環境,和從基礎到進階,再到高級的編程課程。

在這裡,我們更強調的是個人實踐動手寫代碼

想要開始學習編程的同學或者希望能找題練手的同學們,都可以登錄實驗樓,選擇適合你的課程。

實驗樓精選課程:

  • 《Python 新手入門課》
  • 《C++ 使用 openGL 實現吃豆人遊戲》
  • 《Java 編程語言基礎》
  • 《Python 異步網絡編程實戰》
  • 《基於 Vue.js、Node.js 和 MongoDB 開發 DoraCMS》
  • 《 Kubernetes 進階(二):控制器、存儲與網絡 》
  • 《C++ 實現 STL 標準庫和算法》

本文為譯文,原文為How to Improve Your Skills as a Programmer(via WikiHow)

翻譯:實驗樓


分享到:


相關文章: