中午看到這篇文章,覺得道理的,推薦給大家看看。
很多IT人,都在忙碌著搞代碼,卻不知道,除了單純的寫代碼,還要關注很多相關的東西。不然,你的代碼,本身就是一個問題。
轉載自:http://news.csdn.net/n/20080918/119159.html
1.升級單元測試
你的編程沒有測試?你應當隨時進行測試,即TATFT ( testing all the fucking time )。當然你應當選擇比僅是單元測試更好的方式。RSpec和Shoulda是兩個
可以選來使用的
工具。
2.試用TDD
既然你在測試,那你就應當記錄下這些測試。不要記錄
代碼并用后來的測試覆蓋它,而應當是
方法的
記錄。TDD ( Test Drive Development ) 可以使你編出更好的代碼,TATFT最重要的基礎就是
TDD。進行TATFT并不難,首先你寫下你所能做的最簡單的測試并運行,觀察測試的失敗,然后寫出執行語句以便使測試通過,不停地重復這樣的過程就可以
了。
3.自動化部署
自動化是你最好的朋友,想要實現自動Capistrano是相當好用的工具。在你配置部署好你的
項目后,第一個要裝的東西就應當是Capistrano。從第一天起就可以自動化部署將會節約你大量的
時間。
4.安裝 SCM
安裝 SCM并學習使用它,這樣做的好處是可以使那些超重的庫中的代碼不再那么冗繁,目前有大量的工具可以選擇,我每天使用的是Git。Git是一款很特別的分布式SCM,即DSCM。DSCM是很有前景的,它可以同有其他庫的用戶們協同工作。
5.審查持續集成
現在我們已經測試了代碼并將其安全的存放在庫內。比起不停地測試,什么是更好的方式?自動測試是個不錯的選擇。很感激有cruisecontrol.rb的存在,這個應用工具自動運行了那些瑣碎的測試。
6.了解你的代碼
寫代碼是一回事,但是更重要的事情是了解代碼。可以用四種自動化工具來幫助你了解代碼:flog、 tarantula、rcov 和saikuro。這些工具分別有其獨到之處,我很樂意向你介紹它們。
Flog,可以按字母排列的順序來記錄復雜的結果。
Tarantula,根據相關性原則和一些靈活的創意設計的。它所做的是spider 你的Rail應用以便去搜索壞鏈接。這真是令人得到解脫,使我受益匪淺。
Rcov,這是一個在Ruby界相當受歡迎的工具。它是一個C0范圍工具,換言之,它精確的測定出你的代碼中
哪些部分在被測試,哪些部分沒被測試。唯一的缺陷是它不能測試諸如:“if condition_a && condition_b || condition_c”. 這樣的語句。
Saikuro,可以測量出你代碼環的復雜性,即可以計算出你代碼branche 和path的數量。當然你代碼的復雜性越低,它運行的越容易。
7.升級你的Fixtures
Fixtures 是看起來很有創意的事物之一,但有諸多的弊端。對于Fixtures,只有極少的替代,我選擇使用Rails
Scenarios,原因是它在測試中工作起來像Fixtures一樣,但是允許我做比YAML更好的DSL。我也可以在一個文件內指定多重的
Scenarios,這將使事情變得更有組織性。
8.收集分析對象
在Rail平臺上搭建新的系統。每周都會有新的監控工具出現,這樣我們有很多的選擇,在這里我介紹我已經使用過的工具:HopToad 和 TuneUp。
HopToad對于異常報文有不錯的能力,它可收集間斷應用并用簡便的方式顯示收集結果。還有,這是一個免費軟件~
TuneUp用另外一種方式獲取數據,它計算每一處分別花費多長時間去組合自身。你的頁面是不是花費了很長時間去組建?但你又不知道是因為什么緣故花費了
這么久,使用TuneUp來查一下吧,你會發現一些你以前從未想到過的事情。另外,TuneUp是一款開源軟件,你可以登陸進他們的托管服務分享你的結
果。
9.閱讀其他人的代碼
你想成為更優秀的
程序員嗎?那一定要多讀代碼,這包括好的、壞的、你自己的、其他人的代碼等。閱讀代碼是一項很多程序員都不重視的技能,但其實能夠
快速閱讀他人的代碼并
理解其中的含義是一種極其
需要的能力。
10.寫博客的習慣
就我個人來說,當我閱讀博客的時候我可以找到所有的信息。大部分時候我是會撰寫跟技術相關的要點,偶爾討論點輕松的話題。寫博客是出于分享的原因,你可以寫下能夠幫你節約時間的技術技巧,也可以是一些你想要記住的技術難點和命令之類。
原文地址:http://smartic.us/2008/9/9/10-things-you-could-be-doing-to-your-code-right-now
本文作者:javaread.com