新手程式設計師如何鍛鍊自己對需求的拆分和抽象能力?

時間 2021-06-26 08:20:45

1樓:flowsky37

說實話,這兩個能力表面上感覺是程式設計師實際工作中需要,其實其它型別的工作也需要的。

比如需求的拆分能力,不管做任何事,弄清楚需求最重要,不然會在錯誤的道路上越走越遠。

抽象能力,什麼叫抽象能力?說直白點就是吃透了,理解了,能夠舉一反三。

為什麼是舉一反三?能做到舉一反三,就說明整明白核心是什麼了。能夠聯想到哪些場景也是這個核心作為底層邏輯。

回到問題,怎麼鍛鍊呢?

有的人有天賦,不可否認。但是絕大多數人是沒有天賦的,那就只能多思考去鍛鍊,多問自己幾個why,長期堅持,會逐漸提高的。

2樓:恆予同學

我們可以對自己工作中的問題域進行建模,當然也可以通過閱讀一些優秀原始碼背後的模型設計來學習如何抽象、如何建模。比如,Spring的核心功能是Bean容器,那麼在看Spring原始碼的時候,我們可以著重去看它是如何進行Bean管理的?它使用的核心抽象是什麼?

不難發現,Spring是使用了BeanDefinition、BeanFactory、BeanDefinitionRegistry、BeanDefinitionReader等核心抽象實現了Bean的定義、獲取和建立。抓住了這些核心抽象,我們就抓住了Spring設計主脈。

除此之外,我們還可以進一步深入思考,它為什麼要這麼抽象?這樣抽象的好處是什麼?以及它是如何支援XML和Annotation(註解)這兩種關於Bean的定義的。

當我們對問題域進行分析、整理和抽象的時候,當我們對領域進行劃分和建模的時候,實際上也是在鍛鍊我們的抽象能力。這樣的抽象思維鍛鍊和思考,對提公升我們的抽象能力和建模能力非常重要。

程式設計師如何應對頻繁的更改需求?

需求更改頻繁一般是不合理的。假定他是合理的,比如老闆說了,改不改怎麼改我說了算,我不是給你發錢了嘛。那我們就幹,要注意以下幾點。一,讓老闆簽字畫押。頻繁的變更沒事,最忌諱不留下書面材料。每次變更都要有會議紀要,郵件傳送。避免後面扯皮。二,設計要有一定的前瞻性 如果已經知道了會經常變化,那麼就要在很多...

新手程式設計師該如何看待cto畫餅?

Mars Zhao 不要信,這個承諾本身含糊不清,而且就算明確說什麼時候給你漲,到時也有一萬種理由說自己的難處,當然這是假設他還願意找個藉口打發你,而不是直接批判你說你水平不夠或是讓你不滿意就走。跟你說這種話的人,本身並沒有真正把你放在平等地位溝通,而是糊弄下再說。當然如果你找不到更好的工作,那就裝...

如何看待程式設計師因為需求反覆變更而離職?

孟武文卓 毫無疑問,很多做軟體的公司,幹的是服務業的行當,它的賣點就是服務,總是讓銷售或者客戶牽著技術走這本身就是乙個問題,你她媽的乙個銷售只能給乙個方向,具體的事情不要瞎指揮,如果不尊重設計,只是為了客戶一時興起而改動,沒有人會負這個責任,你尊重技術,技術才能為你服務,你不尊重技術,技術只能糊弄你...