首頁 > 易卦

一句話讓程式設計師啞口無言:“為何別的軟體能實現,你實現不了?”

作者:由 古耕說 發表于 易卦日期:2023-02-02

eclipse如何批次註釋

有些事情作為一個程式設計師在被問及時是解釋不了的,比如程式當中出現了Bug,當被問:“這種錯誤你怎麼能犯?”時,一般而言程式設計師都會選擇沉默不語。因為遇到這種問題,根本就無法解釋,因為作為程式設計師但凡能夠知道會出Bug也不至於會寫出Bug來。

但是,出現Bug,有一些程式設計師會選擇“強行解釋”。意思就是透過一些別人聽不懂的術語,將自己因為不細心而產生的Bug歸咎於其他方面。

但是,別人不懂技術雖然有時候能夠矇混過關,可是當技術有了參照,那就不一樣了。所以,程式設計師在跟老闆、產品經理或者甲方在溝通需求的時候,當需求實現起來比較難的時候,最怕的就是他們說:“為何別的軟體能實現的功能,你實現不了?”。

一句話讓程式設計師啞口無言:“為何別的軟體能實現,你實現不了?”

一般而言,甲方提出的一些需求基本上其他軟體都是能找到參照的。所以,當他們問及這個問題時,作為程式設計師很難回答。

如果堅持說做不了,但是別人的軟體都實現了,自己卻實現不了會很難堪。所以,有時候作為程式設計師,我們只能給出一個不確定的回答:“我試試看!”。

這個回答的意思其實也很簡單,那就是目前我是實現不了的,但是我可以去百度一下,看看有沒有其他的可以作為參考的方案。有的話還則罷了,沒有的話,那隻能拎包走人了!

可是類似“別人能做,為什麼你做不了?”這樣的問題問得真的合理嗎?我認為從某種角度上來說,這問題或者說質疑是很不合理的!

很多時候,這並非技術問題導致的程式設計師無法做到,而是受制於認知和知識儲備。試想,如果別人能做,那麼所有程式設計師就應該都能做的話,那程式設計師就不應該被分為初級、中級和高階了!

一句話讓程式設計師啞口無言:“為何別的軟體能實現,你實現不了?”

我們首先從認知層面來說!一個專案,程式設計師做得順暢不順暢,首先就得看程式設計師對於專案流程的認知,也就是我們常說的業務邏輯。

打個比方,就好比我們要開一個手動擋的汽車,把車子開起來的邏輯順序應該是踩剎車、點火、踩離合、掛擋、松離合、汽車開走。這其實就是大多數手動擋汽車從點火到開動的業務邏輯,如果一個程式設計師要寫一套相關邏輯,那麼這個程式設計師對於手動擋汽車從發動到開走的每一步都得清楚。

所以,看似對於可以開手動擋汽車的程式設計師,這是很簡單的業務邏輯,但是一個連駕照都沒有的程式設計師,他對於離合、掛擋這些東西是一點概念都沒有的,更別說要把整套業務邏輯寫出來了。

所以,認知是取決於程式設計師是否有能力完成一個功能的前提。

一句話讓程式設計師啞口無言:“為何別的軟體能實現,你實現不了?”

然後就是知識儲備!這個其實就很好解釋了!最典型的情況就是對於演算法的掌握。

大多數程式設計師其實跟普通人一樣,只會寫一些簡單的演算法,也只能看懂一些簡單的演算法。但是,很多軟體之所以優秀,那就是程式的底層演算法優秀的結果。

當一個程式設計師對於數學的知識儲備不夠的時候,即使有人把一套數學公式放在這個程式設計師面前,他也無法將這些數學公式轉換成程式碼,因為他完全看不懂!要知道,人和人是不一樣的,否則就不會有那麼多被稱之為“大家”的人了。

所以,雖然別的軟體能實現的功能,我實現不了,其實這並沒有什麼丟人的地方。我以前也遇到過幾次這樣的事情,最後透過各種驗證,證明我真的無法做到時,只能跟我的研發經理說:“以我的能力,我實在做不了!”。