同事是一位畢業(yè)兩年不到的入門級程序員,這兩天拿著一本《**AJAX》還是《AJAX**》在翻看,我拿過來大概看了看目錄后就直接了當(dāng)?shù)慕ㄗh這位小兄弟不要再看了,以你現(xiàn)在對WEB各個層面技術(shù)的理解程度,看這種書除過能在項目中臨時抱抱佛腳外毫無一點用處,
也許是這個時代變化真得太快
。我并不是在貶低這位小兄弟的技術(shù)水平,只是這些書的內(nèi)容的確不能讓人恭維,前面幾章講基礎(chǔ)的還行,只是內(nèi)容太少,后面開始大篇幅的講解google map、dojo、dwr等等等等的使用時我就無心再看下去了。翻開書不小心正好看到了利用xml返回javabean或者是pojo對象到客戶端的一節(jié),書中稱這個叫做ajax和java的對象序列化@#$%^&*,如果我沒記錯,這篇內(nèi)容應(yīng)該最早出自BEA還是IBM的中文站點上,書中用大量的代碼講解如何在java類中實現(xiàn)toXML方法,并最終通過servlet傳遞xml字符串到客戶端讓javascript接收,寫完后作者可能也想到了xml的效率問題,又補充到在服務(wù)器端返回javascript數(shù)組以便提高應(yīng)答速度,按例子要求,返回的二維數(shù)組中必須要進行字符轉(zhuǎn)換,書中給出了這樣一段例子代碼:
function setConvertData() {
for (var i = 0; i < xmlArray.length; i++) {
for (var j = 0; j < xmlArray[i].length; j++) {
if (j == 5) xmlArray[i][j] = xmlArray[i][j] + "元";
}
}
}
其實像上面這段代碼完全可以這樣寫:
function getConvertData(i, j) {
if (j == 5) return xmlArray[i][j] + "元";
else return xmlArray[i][j];
//或者直接寫:return xmlArray[i][j] + (j==5 ? "元" : "");
}
大概形式就是這樣,可能具體變量名函數(shù)名啊之類的記不清了,在這里我也不是故意炫耀下代碼功底或者什么奇計淫巧,只是覺得寫這些書的人要嘛不負(fù)責(zé)任要嘛就是功底不到家,寫這樣的代碼能提高效率嗎?怪也要怪現(xiàn)代計算機速度太快、內(nèi)存太大,放在十年前286、386、2M、4M內(nèi)存的機器上滿篇這樣的代碼機器早就玩兒完,
管理資料
《也許是這個時代變化真得太快》(http://www.szmdbiao.com)。 公司項目中有個省、市、縣、街道四級聯(lián)動的需求,代碼先是在dao層用spring的jdbcTemplate內(nèi)部類的那個方法返回Entity類,循環(huán)遍歷后放入list,再從biz層循環(huán)list得到每個Entity后封裝到Map
也許時代在變,現(xiàn)在講究的是項目層面上軟件開發(fā),無論是MVC還是XP還是CMMI,大家都用心在樓宇的總體設(shè)計上,至于每個泥瓦匠的摸泥水平還是沒顆螺絲的質(zhì)量已經(jīng)沒人關(guān)心了,大家都相信磚混型的建筑已經(jīng)過去,現(xiàn)在流行的是框架式樓,哪怕這層樓的磚頭都掉光也不會倒塌。
給項目經(jīng)理匯報了下上面所述的那個問題,項目經(jīng)理不在乎的說:部署時客戶那兒用的是小型機,還怕這點循環(huán)速度嗎?
......
......
我視為珍品的《計算機程序設(shè)計藝術(shù)》和《代碼大全》準(zhǔn)備壓箱底了,也許是我老了,也許是這個時代變化真得太快。