"人是活的,程序是死的"這句話我時(shí)常提起,可能很多人不是很理解我為什么會(huì)這樣說,下面我就簡(jiǎn)單來談?wù)勎覍?duì)這句話的理解。
1.不要因?yàn)榧夹g(shù)而技術(shù),技術(shù)選型的初衷是需求。
現(xiàn)在很多人在做項(xiàng)目的時(shí)候,開口就提項(xiàng)目用的NoSql、大數(shù)據(jù)處理、分布式系統(tǒng)等等技術(shù)。技術(shù)真的這么重要嗎?
技術(shù)在軟件開發(fā)過程中的地位是不言而喻的,但是一個(gè)項(xiàng)目選擇合適的技術(shù)去實(shí)現(xiàn)是很有必要,也是一個(gè)很好的學(xué)習(xí)機(jī)會(huì)。
比如做一個(gè)簡(jiǎn)單的人事管理系統(tǒng),簡(jiǎn)單的說就是對(duì)數(shù)據(jù)的添加、刪除、修改。
但是隨著NoSql的普及和運(yùn)用,很多人在設(shè)計(jì)的時(shí)候可能會(huì)想用緩存可以減輕數(shù)據(jù)庫(kù)壓力,增加數(shù)據(jù)的讀取速度等等優(yōu)點(diǎn)。
從設(shè)計(jì)圖可以看出基本的設(shè)計(jì),設(shè)計(jì)之初就想到NoSql的好處,但是很多問題都沒有考慮到,比如:數(shù)據(jù)的同步策略、簡(jiǎn)單數(shù)據(jù)用NoSql效率真的比直接用數(shù)據(jù)庫(kù)高,高好多等等問題?
所以說技術(shù)和需求是相輔相成的,單一的需求或者技術(shù)就是咩有意義的,那么在需求變更過程中選擇恰當(dāng)?shù)募夹g(shù)解決問題很重要、很重要?
2.做功能之前請(qǐng)不要先說效率,請(qǐng)先完成功能在進(jìn)