讓CPU瞎忙的忙碌迴圈

有時候程式寫法沒注意,發生大幅占據CPU時間的狀況,該如何去認知這樣的問題,並加以解決?

2012-03-09

軟體開發的軟實力── 溝通

軟體開發的過程中,有一些較為「軟性」的能力,會影響到軟體開發的過程甚至結果。而像「溝通」也是軟體開發中十分重要的「軟性」能力

2012-02-29

控制反轉下的相依關係建立之道

想要實作「控制反轉」,我們可以導入專職管理角色的手法,例如Factory Method和Service Locator的設計模式,或者透過相依性注射來進行

2012-02-24

控制反轉的精神及實踐

這個設計原則的目的是反轉控制上的關係,讓通用的程式碼來控制應用特定的程式碼,不讓較多變的應用特定程式碼影響到通用的程式碼

2012-02-20

倒轉相依關係,降低變動的衝擊

當程式的上層模組相依於下層模組,相依關係將朝較不穩定的方向進行,因此若能倒轉這種上層依賴下層的關係,讓下層的模組去倚賴上層的模組,讓相依關係朝較穩定的方向進行

2012-02-09

以量度指標具體呈現程式碼本質

這一回我們介紹一些程式碼的量度指標。若能明白這些指標背後的意義,適度運用工具替我們分析出這些指標,便有能力了解程式碼所具備的特性,也才有具體的方向來改進及調整

2012-01-20

抄捷徑的技術債,遲早要還的

基於品質與時效,程式設計者在開發過程中,會因為一些做法而欠下所謂的「技術債」,雖然當時可以解決一些問題,但你要清楚知道,這麼做的代價終究是要償還的

2012-01-17

為程式碼品質做到多面向的把關

除了協助落實程式碼撰寫的排版及命名慣例的規範、重構、檢查潛在程式臭蟲,善用自動化工具,有時還可以幫忙開發人員做到進階分析,例如安全性、複雜度

2012-01-13

善用程式碼分析工具

為了軟體開發衍生的自動化工具中,有些是著眼在協助提升程式碼品質,檢核已完成的程式碼

2011-12-30

做自動化工具的主人,而非奴隸

自動化能提高效率、避免無謂犯錯,手動也有優點,如解決工具衍生問題,而且更隨心所欲

2011-12-30

讓即戰力加入新的戰場

有時候,加入團隊的新成員並不是新手,有可能是有一定經驗的老手。那麼,想要讓他開始參加團隊的開發工作,情況又有所不同

2011-12-21

菜鳥慢飛,融入開發生活中

菜鳥程式員正式開始開發前,有很多準備工作,例如,學習如何寫出和大家一樣風格的程式碼

2011-12-16