一直以來(lái)都覺(jué)得Java引入的Optional相當(dāng)雞肋。雖說(shuō)目的是為了避免返回null造成NPE,但是由于大量現(xiàn)存的代碼沒(méi)有采用函數(shù)式風(fēng)格,加上有...
原文鏈接:Tests that sometimes fail 撒謊者即使說(shuō)真話,也不會(huì)被人相信 —— 伊索 軟件項(xiàng)目一旦有些年頭又有很大的自動(dòng)化...
參數(shù)過(guò)多的方法,該如何改善? 問(wèn)題 按照《Clean Code》中的標(biāo)準(zhǔn),方法參數(shù)超過(guò)3個(gè)就已經(jīng)是“過(guò)多”了。參數(shù)多帶來(lái)的問(wèn)題: 首先是調(diào)用的地...
本文是[TDD磕算法] 我為什么嘗試用TDD解算法題系列的一篇。 題目 在一個(gè)行列都升序排列的矩陣中找第n個(gè)最小的數(shù)。 所謂行列都升序,是指矩陣...
一般來(lái)說(shuō),日志是程序相當(dāng)次要的副作用輸出,很少需要專門(mén)的單元測(cè)試來(lái)保證它的行為。不過(guò)也不排除在某些情況下需要在單元測(cè)試中驗(yàn)證日志,比如: 某個(gè)場(chǎng)...
其實(shí)我不是很理解為什么用了Spring還需要使用靜態(tài)方法來(lái)提供單例之類的服務(wù)。也許是傳承自較老的代碼,也許對(duì)Spring對(duì)象的生命周期不太肯定,...
一般使用Spring,都會(huì)用到依賴注入(DI)。 如果測(cè)試中需要對(duì)Sping注入的對(duì)象進(jìn)行注入,該怎么做呢? 選擇一 修改實(shí)現(xiàn) 一種做法是把字段...
在向開(kāi)發(fā)人員介紹單元測(cè)試或TDD等工程實(shí)踐時(shí),往往可以聽(tīng)到這樣的疑問(wèn)。比如: 自己寫(xiě)的程序,自己無(wú)法從另一個(gè)角度測(cè)出問(wèn)題。寫(xiě)bug的時(shí)間都不夠了...
這是一份遲到的小結(jié),去年底組織完Global Code Retreat后,有些新的感受想要分享。結(jié)果一路拖延下來(lái),又多了兩次道場(chǎng)活動(dòng)的收獲。分別...