一個新手為老代碼寫測試程序的心得.我堅持去健身房鍛煉身體,練習舉重,我喜歡這種讓自己變得更強壯、更健康的感覺。大約兩個月前,我的膝蓋開始感覺抽痛,但我仍然堅強去鍛煉。 ..
代碼審查的價值——為何做、何時做、如何做?.對于很多公司來說,代碼審查是開發人員日常工作中的重要環節。通過代碼審查,可以及早發現項目中存在的問題、促進同事之間的溝通與交流,..
十種更好的表達“你的代碼寫的很爛”的方法。如果你有一個同事,他寫的程序與其說是代碼,不如說更像希臘神話中女妖美杜莎的頭發,你當然不能熟視無睹,你應該做出一些反應,但你可選..
前言:對軟件開發的一次另類思考 在武俠小說中,常會把絕世武功分為兩個部分:招式和心法。招式得其形,而心法傳其神。從這個角度看,這本書是即講招式也講心法的書。招式繁雜..
在使用ORM構建基于數據庫的項目時,開發者可以選擇是先設計數據庫表,還是先設計類或抽象模型。為了展開討論,我們先列出Frans Bouma的結論:代碼先行的ORM是愚蠢的。 ..
你是選擇先寫代碼還是先把要做的事情記錄下來?開發者真的非常討厭花時間寫東西,除非寫的是代碼。然而他們還對這種厭惡振振有詞: 如果不是代碼,它就無法通過編譯,也無法確..
軟件編程21法則.任何一個有經驗的程序員都知道,軟件開發遵循著一些不成文的法則。然而,如果你不遵循這些法則也并不意味著會受到懲罰;相反,有時你還會獲得意外的好處。下面的就是軟..
高效編程之欲擒故縱. 昨天我做了一些事情使我的編程效率提高了一倍。簡單,容易,但使我的生活發生了巨大的變化。 你們中可能有些人已經知道我是怎么做的。對于其他的人,這聽..
開發者需做代碼審查的五大原因.每個人都承認代碼審查的花銷大,而且又耗時,特別是當大家忙完成軟件項目又把它送去軟件測試部門時。對一些開發人員來說,它更是會引發更多的辦公室政..
代碼重構方向原則指導. 重構是一種對軟件進行修改的行為,但它并不改變軟件的功能特征,而是通過讓軟件程序更清晰,更簡潔和更條理來改進軟件的質量。代碼重構之于軟件,相當于結構..
重構遺留程序的一次案例學習.遺留代碼經常是腐臭的,每個優秀的開發者都想把它重構。而進行重構的一個理想的先決條件是,它應該包含一組單元測試用例,以避免產生回歸缺陷。但是為遺..
代碼覆蓋率:80%!不能少 一大早,一個年輕的程序員問大師: “我準備寫一些單元測試用例。代碼覆蓋率應該達到多少為好?”..
1. 當性能遇到問題時,如果能在應用層進行計算和處理,那就把它從數據庫層拿出來。排序和分組就是典型的例子。在應用層做性能提升總是要比在數據庫層容易的多。就像對于MySQL,sqlite更容..
為什么編碼規范里要求每行代碼不超過80個字符的限制是合理的。也許在Python編碼風格指導(PEP8)中最有爭議的一部分要數每行代碼不超過80個字符的限制。沒錯,實際上是79個字符,但我使用80個..
最近做了一系列的單元測試相關的工作,除了各種規范及測試框架以外,討論比較多的就是關于代碼覆蓋率的產生,c/c++與其他的一些高級語言或者腳本語言相比較而言,例如 Java、.Net和php/py..
低質量軟件編程產生的成本價格細目表。下面這個清單里描述的事情并不是你絕對不能做的,它只是用量化的方法來讓你知道編程上的這些做法將會產生的負面代價。..
過早優化代碼是萬惡之源.讓正確的程序更快比讓快速的程序正確要容易太多,太多。所以,缺省情況下,不要集中在讓代碼更快上,首先把注意力放在使代碼盡可能性的清楚和可讀上。清楚的..
軟件開發是選擇效率or還是選擇質量?程序開發項目進行過程中,通常會冒出這樣的困惑:應該選擇效率,還是選擇質量?很多程序猿都會有偷懶的思維,覺得把一些摸不清頭緒、不知道怎么寫的..
隨著網站逐漸變成"互聯網應用程序",嵌入網頁的Javascript代碼越來越龐大,越來越復雜。..
11個高效的同行代碼評審最佳實踐 SmartBear Software 團隊® 花費了數年時間去搜索已有的代碼評審研究成果,并從來自超過 100 家公司的 6000 多名程序員那里,收集了“實踐經驗”。很顯然,人..