恕我直言:程序員大部分時(shí)間不是在寫代碼,而是。。。
點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)
作者 | feenk ? ?整理 | 夢(mèng)依丹
出品 | CSDN(ID:CSDNnews)
面對(duì)冷冰冰的機(jī)器、代碼、工具,程序員的首要工作是知其然并知其所以然,方能入手去敲打出美妙的代碼。
近日,一篇《Developers spend most of their time figuring the system out》的文章在HacekerNews上引起了不少開發(fā)者的共鳴,作者表示,程序員大部分時(shí)間都在摸索系統(tǒng)之上,而非構(gòu)建系統(tǒng)。
對(duì)于這一話題,最早可追溯到1979年Zelkowitz、Shaw和Gannon出版的《軟件工程和設(shè)計(jì)原理》一書,書中描述到,程序員把大部分的時(shí)間(67%)都花在了開發(fā)維護(hù)上。

誠(chéng)然,這本書并沒有告知這一數(shù)字的背后,那么在40年后的今天,又是怎樣的情形呢?


閱讀只是從數(shù)據(jù)中收集信息的一種手段,也恰好可能是最手動(dòng)的方式,這就為優(yōu)化提供了重要的機(jī)會(huì)。最新面試題整理好了,大家可以在Java面試庫(kù)小程序在線刷題。
在做一件重要的事情之前,人們往往會(huì)進(jìn)行命名,否則就會(huì)像伏地魔一樣。在多年以前,把弄清楚系統(tǒng)然后再做下一步稱之為評(píng)估,并且還提出應(yīng)該圍繞評(píng)估來優(yōu)化開發(fā)。

通過閱讀來提取數(shù)據(jù)是最機(jī)械的一種方式,無法規(guī)模化,還會(huì)帶來信息不完整和不確定性。在還未摸清系統(tǒng)全貌之前,決策不應(yīng)該建立在信念的基礎(chǔ)之上。數(shù)據(jù)科學(xué)告訴我們,應(yīng)該以問題為導(dǎo)向去匹配相應(yīng)的工具進(jìn)行推理。

ID為kayodelycaon的用戶表示,在一個(gè)100%進(jìn)行結(jié)對(duì)編程的地方工作,意味著無法結(jié)對(duì)的人就會(huì)被過濾,而能否進(jìn)行結(jié)對(duì)編程,與當(dāng)事人的方方面面都有著關(guān)系,比如自己有多動(dòng)癥、短期記憶方面的問題等。但自己卻能編寫出非常好的代碼,會(huì)考慮代碼的可讀性、算法復(fù)雜性、副作用、可測(cè)試性等多個(gè)小細(xì)節(jié)。
原文鏈接:https://lepiter.io/feenk/developers-spend-most-of-their-time-figuri-9q25taswlbzjc5rsufndeu0py/

關(guān)注Java技術(shù)棧看更多干貨


