T-SQL靜態代碼分析

發表于:2010-07-07來源:作者:點擊數: 標簽:代碼靜態
T-SQL靜態代碼分析 軟件測試 靜態代碼分析,在 Windows 平臺上長期受到忽視,近幾年卻變得越來越重要。靜態分析重新獲得關注,始于一款Microsoft內部的工具——FX Cop,由于它非常受歡迎,所以微軟將其公 開發 布。在Visual Studio 2005中,FX Cop作為Visual

  T-SQL靜態代碼分析  軟件測試

  靜態代碼分析,在Windows平臺上長期受到忽視,近幾年卻變得越來越重要。靜態分析重新獲得關注,始于一款Microsoft內部的工具——FX Cop,由于它非常受歡迎,所以微軟將其公開發布。在Visual Studio 2005中,FX Cop作為Visual Studio團隊開發版的一部分集成到該IDE中。

  帶有附加功能或免除單元測試需要的第二代工具正在研發當中,包括.NET4的Code Contracts和自主研發的NStatic。

  托管代碼并不是唯一獲得關注的領域。Ubitsoft公司正對T-SQL應用相同的技術。隨著數據庫增長,封裝在T-SQL中的業務邏輯數量變化相當明顯,有時候甚至在重要性方面勝過普通代碼。要協助管理這一情況,Ubitsoft公司創建了SQL Enlight。我們就此和他們的開發主管Iliyan Stoyanov進行了溝通。

  這是個相當新穎的產品,你可以給我們一些關于SQL Enlight如何誕生的背景嗎?

  我們設計SQL Enlight作為T-SQL管理和反射工具,但由于我們需要更多的時間來實現心中的所有想法,所以決定先發布T-SQL重格式化功能,稍后逐步來添加新功能。

  你決定對Transact-SQL腳本分析提供支持是基于哪一點考慮呢?

  從本項目開始,該分析功能就是我們其中一個目標,但我們決定推遲它的發布,直到我們完成T-SQL語法分析器擴展為止,它支持新的SQL Sever 2005 T-SQL語法。

  你如何決定給分析添加哪些規則呢?

  我們實現的分析規則基本上來自互聯網找到的提示和實踐,或者來自SQL Enlight用戶提交給我們的分析規則請求。

  你們的技術支持提到過你正研發一個新版本,它會對整個數據庫進行分析??梢越o我提供一些關于它的信息嗎?

  是的。我們正研發新的1.6版本,它將是我們SQL Enlight1.x版本的里程碑。該新版本會包含兩項重要特性——創建自定義分析規則功能和支持在數據庫上運行分析。我們也打算包含命令行工具和MsBuild任務。

  SQL Enlight當前版本支持這些分析規則。

  設計

  包括NULL常量在內的相等和不等比較

  非ANSI外部聯接語法

  非ANSI內部聯接語法

  過時的語法,字符串_別名=表達式

  在執行數據操作語句(像INSERT/UPDATE/DELETE)之后,使用TRY..CATCH結構或者檢查該@@ERROR變量

  在存儲過程、視圖和表值函數中支持SELECT *

  使用SCOPE_IDENTITY()替換@@IDENTITY

  支持ORDER BY子句中使用常量已經過時

  TOP子句用在不帶ORDER BY子句的查詢

  在INSERT語句中總是使用列的列表

  反對不帶WITH關鍵字的表提示用法

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97