程式設計師的工作就只有寫程式碼麼???

程式設計師魚皮發表於2022-03-18

大家好,我是魚皮,今天給大家分享一個開發小經驗。

很多沒有實際工作過的同學,可能都會認為程式設計師的工作只有寫程式碼 + 和產品經理 “拉扯”,也會習慣性地用程式碼量來評價一個程式設計師的工作強度和等級,以為碼字如飛、每月能寫個幾萬行程式碼的程式設計師就是大佬。

我以前也是這麼認為的,直到我正式進入企業工作,才發現真的不是這麼一回事兒!高階的同學總是用最簡短精妙的程式碼來解決問題。包括我認識的很多高職級大佬(被外界稱為 “架構師”),他們的平均程式碼量都很少、甚至有些已經完全不寫程式碼了。

那他們的工作都是幹啥呢?

其中最常見的工作就是 設計 ,這裡的設計不是指 draw a picture 畫畫設計稿,而是根據真實的業務需求去設計系統的整體架構、或者設計需求的解決方案、設計整個系統的劃分、資源的協調排程等。

通過這點,也側面反映出了設計的重要性,程式碼只是把我們的思想、我們的設計表述出來的一種介質(或者說是工具)罷了。

也許我們的工作沒有達到架構師的高度,但在我們做需求的過程時,一定進行設計:先理清楚業務邏輯,想好怎麼寫程式碼,再根據設計去具體寫程式碼實現(類似翻譯的過程)。

我剛進騰訊實習的時候,導師給我安排了一個很大的工作 —— 重構老系統為新框架。我當時覺得很簡單,不就是把框架 A 換成框架 B 麼?業務邏輯基本都不用動,分分鐘搞定好吧!於是在排期的時候信誓旦旦地跟我導師說:3 天完成。

我導師只是笑了笑:年輕人不要太自信!慢慢來吧。

結果你猜怎麼著?那個需求我做了整整一個多月。。。就是因為沒有設計好怎麼去做、也沒有調研框架 A、框架 B 的差異性,直接上手去換框架、寫程式碼,導致到處都是報錯,甚至影響了業務邏輯。

還有幾次,我以為需求很簡單,想都沒想就去寫程式碼了,結果在寫程式碼的過程中發現了大問題,就像走迷宮走到了死衚衕一樣無力迴天。如果先做好設計,有了清晰的路線和規劃,再去寫程式碼,出現延期、返工的概率就會大大降低。

所以設計有多重要就不言而喻了。

那應該怎麼做設計呢?設計分為很多種,比如系統設計、架構設計、詳細設計等。每個展開去說都能扯個幾萬字,這裡我就挑 詳細設計 小講一下。

所謂詳細設計,顧名思義,就是很詳細的設計。

比如業務流程具體是怎樣的、有哪些步驟?某個演算法具體怎麼實現等?

正好上週在 星球 中直播帶大家做專案,需求是開發一個使用者註冊功能的後臺。我就拿這個註冊功能的詳細設計來舉例子吧,如圖:

註冊功能設計

從上到下看一遍你會發現,一個小小的註冊功能竟然有那麼多要考慮的地方,各種各樣的校驗。如果你不做設計、直接上手寫程式碼,那麼會不會漏掉一些校驗、搞錯關鍵步驟,導致整個系統出問題呢?後面發現問題再去改程式碼,可就麻煩多了(要反覆上線)。

所以在開發需求、尤其是包含複雜業務邏輯的需求時,不要想當然,直接去寫程式碼了。而是可以像我上面舉的例子一樣先設計一下、想清楚怎麼寫程式碼,再去按照設計寫程式碼就很簡單了~

經常有同學問我怎麼提高業務思維、為什麼我看到很多系統都能很快地想到實現方案,其實就是因為平時做任何需求的時候,我都會思考、在心裡做設計。我也強烈建議大家這麼做,腦袋越用越靈嘛。

所以我也會在星球直播帶大家做專案過程中多帶大家分析問題、思考和設計方案,而不止是寫程式碼本身,相信這樣會給大家帶來更大的幫助。


以上就是本期分享,最後也歡迎大家加入魚皮的 程式設計學習圈子 (dogyupi.com) ,和幾千名小夥伴們一起交流學習~

相關文章