Ⅰ 為什麼程序員的思維很難理解
1、程序員的思維比普通人要嚴謹。
對編程有一定了解的人都能理解這一點,一是一二是二,電腦不認模稜兩可的回答,因為「模稜兩可意味著更多的可能答案」,所以你跟程序員交談的時候,如果你問他「為什麼要這樣問」或「你為什麼聽不懂」,你就會知道你自己的描述有多麼的不嚴謹了。
最簡單的例子,你媽媽讓你去市場買水果,如果看到有蘋果就買一個蘋果,看到梨就買兩個。你看到市場有蘋果和梨,你會買什麼回家?
首先給出一個大前提,在程序上不存在「潛台詞」或者「潛規則」這種東西,唯一起作用的只有「字面意思」。
一般人肯定是買一個蘋果和兩個梨。當然程序員也不是腦子有坑,以一個正常人的思維考慮也會買一個蘋果和兩個梨,但是看到這問題的第一個瞬間的直覺反應,卻是「如果看到梨就買兩個蘋果」。這個問題不存在潛台詞,所以所有人都會直接從字面理解老媽的意圖。
按照程序的邏輯分析,這句話共分為兩個部分,代表兩個程序任務。「如果看到有蘋果就買兩個蘋果」為任務一,條件是「看到有蘋果」,目標對象「買蘋果」,數量「一個」;「如果看到有梨就買兩個」為任務二,條件是「看到有梨」,數量「兩個」,沒有給出新的目標對象。
因此按照程序邏輯來講,第二句話將繼承上一個目標對象,也就是「買蘋果」,所以這句話被看起來像職業病一樣的思維直接翻譯成了「如果看到有蘋果就買一個蘋果,如果看到有梨就買兩個蘋果。」
————————————————————
2、程序員看問題比一般人透徹。
這是職業特性導致的,因為電腦編程的嚴謹性,因此程序員面對一個問題、一個需要實現的目標或者一個bug時,他會思考更底層的問題,並且會習慣性採用歸納法來盡量避免以後可能遇到同樣的問題。
比如用輸入法輸入中文的詞句,有的時候打出了一串拼音,然後按下數字2選取發現不是自己想要的詞,然後發覺數字1對應的才是自己想要的,刪掉,重新輸入拼音,這次按下數字1的瞬間卻發現兩個詞的位置調換了,於是又刪掉重新鍵入,這次認真地看了看,終於選對了想要的詞的序號。
這個時候你會說,啊,我下次應該更小心一點,不要馬虎大意想當然,看清楚了再點。
程序員不這么想,他會想,導致這個問題的看來是輸入法的「詞語順序自動調整」功能,他會自動監測使用者輸入的各種詞語的頻率,來自動調整詞語的順序,底層代碼實現的邏輯很簡單,每個不同的詞對應一個從輸入法安裝到現在的輸入次數的計數器,直接按計數器排列順序就好了;也有的輸入法會監測你輸入後是否會將其刪掉,那麼這時候會被智能識別為打錯字,計數器不會加一。
然後再一思考,這種功能一般都是可以開關的,如果我想要靠記憶記住順序使用而不用輸入法自動調整的話,比如對漢字輸入的速度有一定要求需要考記憶記住漢字序號,我只需要進入輸入法設置將其關掉即可;如果我想要它幫助我調整詞句位置,但是又不需要頻繁地調整,那麼在我有工作需要的時候我會提前關掉,平時開啟即可;而如果我想單純依賴這一功能,那就不用管它,下次看清楚再選就好了。
Ⅱ 好累,程序員聽不懂產品經理提的需求,問多了,產品經理嫌煩。該怎麼辦
在我們公司面對產品經理提的需求,我們都有統一的回復:
Ⅲ 剛入職的Java程序員,怎樣去看公司的項目,看不懂怎麼辦
首先你入職的是什麼等級,一般來說公司都有等級的劃分比如:初級 中級 高級軟體開發工程師。
一般進公司都會給你一個星期的適應期,在這適應期你必須做好理解業務,理解公司文化,理解架構等。
如果你是初級 會有項目經理指導你核心問題。建議不要問的太頻繁,畢竟招你進來是解決問題的,不是製造問題,看不懂,主要是哪裡看不懂,代碼都是通過業務來寫的,你如果看到業務代碼不懂可以直接先看prd或者產品文檔,介面文檔等一切可以梳理業務邏輯的代碼,如果有技術問題,可以大方的問你的項目經理,他會告訴你的。
如果是中級,成本就不一樣了,所以你的基礎必須要扎實,一些消息隊列(rabbitmq,activemq等),nosql(redis,mongo等),分布式(spring cloud,bbo等),db(mysql等)。一般來說都夠了,再不懂的也可以問項目經理,畢竟是中級。
如果是高級,那完全都不用說了,基本什麼都懂了,框架類的都是浮雲,業務邏輯隨隨便便看看就好了,而且一般打代碼也很少了,主要是框架類的維護。
當然了,如果你是實習生,就相當於打打雜了,他會安排你學習什麼,然後修補一下bug,讓你有獨立性,所以不用擔心。不過也少說多做。
純手打,工作經驗累積出來,如不喜歡,勿噴。謝謝!
Ⅳ 我剛做程序員,覺得很多都不會,怎麼辦
我現在和你是同樣的處境 剛到公司 入職吹自己有兩年工作經驗 而且自己知道哪有什麼工作經驗 一個培訓機構出來的學了半年 接手一個項目感覺頭都快炸了 感覺自己學的完全用不到 每天看代碼研究能看懂一點是一點 現在項目進度沒一點我都快奔潰了 現在想辭職但是我的考慮自己的親人,所以一直在糾結很難受,每天晚上都在想我能幹什麼,我到底要如何去學,怎麼學 怎麼趕進度。