學習軟體開發時我面臨的兩大挑戰 - Kinyanjui Wangonya

banq發表於2019-01-16

我在學校學習電腦科學。專門從事軟體方面的工作。畢業後,我覺得我知道的很多。我在課堂上做了幾個專案,還有一些副專案,所以編碼對我來說並不是什麼新鮮事。現在我可以付錢編寫軟體,對嗎?錯誤。
我不知道的是,除了編寫有效的程式碼之外,軟體開發還有很多。還有很多我需要學習的東西。我的意思是很多。

OOP
我討厭學校裡的Java和C ++。你問為什麼?類,物件,方法。我從來不理解他們,也不關心。為什麼要使程式碼複雜化?只需編寫一個能夠滿足您需求的功能。你還需要別的東西嗎?寫另一個功能。這可能是因為我的第一語言是C語言,但用傳統的自上而下的結構化程式設計方法編寫程式碼對我來說很有用。我在C之後堅持使用Javascript因為我知道我可以堅持使用函式。

長話短說,我無法忍受它很長時間。採用OOP方式有很多好處。理論上我知道這一點,但在使用Python開發api的bootcamp專案時,它確實讓我感到震驚。我意識到我的程式碼中有太多的重複。檔案變得非常龐大,事情變得無法控制。我想,必須有更好的方法來做到這一點。類。方法。遺產。我必須學習OOP。

讓我的腦筋轉彎並不容易,但自從我做到了,程式設計從未如此愉快。我覺得我對程式碼庫有了更好的理解,而且所有東西都很好地融合在一起。這讓我接下來的事情:

TDD
是的,我在學校學到了測試。黑盒測試。白盒測試。所有的理論。但我從沒想過在測試驅動開發方面進行測試。我認為測試是針對使用者的。只需編寫軟體,看它是否有效。如果是,請將其釋出並稍後進行改進。如果有人說它不起作用,那麼......

我再次聽說從頭開始學習。這是非常忙碌的,因為它對我來說是全新的。我只是無法遵循這個過程:編寫檢測失敗的測試,編寫程式碼以使測試透過,重構。我更喜歡自己的方式:編寫程式碼,編寫測試讓其透過,重構。但是我發現,我的測試即使輸出錯誤也能透過時 ,就不淡定了,存在是有原因的。

我已經瞭解到,首先編寫測試確實讓我對手頭的任務進行了全面的概述,這有點像我必須用我編寫的程式碼實現的目標。這有助於我的工作效率,因為我必須一次專注於一件事,使我的程式碼更清潔。

結論…
我不斷學習的東西越來越多,但我說我學到的最重要的事情是,如果你從來沒有讓自己去學習新事物,你永遠不會知道你不知道什麼。如果我從不推動自己參與比我過去參與的更大的專案,我永遠不會看到OOP的重要性。如果我沒有推動自己進入專業發展,我從未見過測試的重要性。可以坐下來認為你知道事情是如何運作的,但總有更多,你可能不知道的更多。如果你覺得自己有一段時間沒有學到新東西,那麼你可能會陷入平庸之中。永不安定下來 持續增長。
 

相關文章