Delphi、Delphi for .NET及C#三合一的開發工具
新推出的Delphi 2005已非單一程式語言的開發工具,包含Delphi for Win32、Delphi for .NET及C#等三種語言,走向與Visual Studio .NET類似的「All-in-one」模式,所以它可說是Delphi for Win32的9.0版,也是C# Builder及Delphi for .NET的2.0版。
Delphi 2005強化IDE的功能,支援TDD(Test Design Driven),並推出ECO II(Enterprise Code Object II);在網頁應用程式方面,增加兩個可播放音樂及動畫的Web資料感知元件,並提供Web部署精靈;資料庫支援BDE、ADO、DBExpress、Ado.NET及BDP等資料存取技術,並可運用.NET Repoting技術達到分散式的架構。
Borland也整合CaliberRM及StarTeam,希望強化Delphi 2005的團隊開發機制,並在Architect及Enterprise版免費提供StarTeam 6.0標準版的合法授權。目前Delphi 2005的各項功能,與Visual Studio .NET相較並不遜色,可惜仍來不及提供行動裝置應用的設計功能,成為小小的遺憾。可升級既有程式
在Borland舉辦的Delphi 2005發表會中,最多用戶關心的,是如何升級既有Delphi程式及相容性問題。事實上,只要以Delphi 2005開啟過去開發的Delphi專案,即可自動升級為最新的版本。Delphi 2005會請使用者選擇,要將專案升級為Delphi for Win32還是Delphi for .NET。
原先Win32的程式,除了第三方廠商的程式庫未必支援外,90%以上的開發技術都可以延用。Delphi 8移植80%的VCL至.NET平臺,Delphi 2005則百分之百實作VCL平臺,所以既有Delphi程式升級至.NET,不會出現相容性問題。強化IDE的機制
程式開發往往是反反覆覆的過程,回頭看程式碼,通常已經淡忘之前做了什麼改變,Delphi 2005提供本機自動備分及程式碼管理的功能,可儲存使用者每次按「儲存」之後所記錄下來的程式版本,「History」可檢視過去的版本,利用「Diff」功能將運用不同顏色的區塊,幫助使用者比對程式碼版本之間的異同,也可選擇回復至特定版本。不過,「History」是記錄個人於本機異動的版本;團隊開發的專案,仍需藉助StartTeam、Visual Source Safe、CVS等工具。
Help Insights是輔助說明的功能,當滑鼠停留在程式碼的任何語法中,IDE即出現提示視窗,簡短描述物件來源或特性,可以節省自行搜尋的時間。
過去修改程式中的變數名稱,如果逐一修改很容易遺漏;若是利用搜尋功能一次取代,又擔心會置換掉字串中有相同字元的其他無關程式碼,導致更多的錯誤。Delphi 2005提供「Sync Edit」功能,使用者可選取一段範圍的程式碼,然後點選「Sync Edit Mode」的鉛筆符號,系統即自動解讀程式碼,相同的字串即畫藍色底線,使用者點選要修改的字串,其他相同的字串將同時出現藍色框線,可同步修改為相同的內容。
雖然Sync Edit是很方便且安全的程式修改工具,但無法辨別不同範圍的相同字串例如不同專案、類別或檔案,所以只適合小規模的程式碼修改,例如單一方法(Method)或單一頁面可選取的內容,大範圍的修改需藉助重構(Refactoring)機制。
VB與Delphi的不同在於VB是直譯式語言,可一邊執行一邊編譯程式;Delphi是編譯式語言,因此在編譯程式之前,無法了解程式語法有無錯誤。Delphi 2005的「Error Insight」功能則補強了這個缺點,當使用者發生語法或宣告的錯誤,系統會在程式標示紅色波浪底線,使用者按滑鼠右鍵,即可利用重構機制,由工具自動分析程式碼修正錯誤。重構增加程式永續維護的可能
對開發人員而言,重構是很好的程式管理工具,在Delphi部分,Borland已實作Rename、Declare Variable、Declare Field、Extract Method、Extract Resource String及Import Namespace等6種功能;C#則實作Rename及Import Namespace等功能。
Rename不同於Sync Edit,是大範圍的修改參數或欄位名稱,將搜尋出專案中所有包含相同名稱的檔案,由使用者逐一檢視確認需要修改的部分,再執行重構功能。如果寫程式忘記宣告變數, Error Insight功能顯示紅色波浪底線,利用重構選擇「Declare Variable」,Delphi 2005將根據程式的前後語法,判斷變數應該宣告的型別並自動產生。
一般開發人員寫程式,是不會詳細規畫再開始動工,因此寫了一段時間之後,發現某部分的程式碼重複率很高,才會開始思考是否該獨立成一個方法(Method),但又擔心修改之後反而出現無法預期的錯誤。Delphi 2005可利用「Extract Method」將一段程式碼轉換成方法,工具將自動剖析程式碼,由使用者定義輸出/入的參數,並自動將所有用到這段程式的部分,全部改為呼叫方法。
也許企業不在乎開發方法論或流程,不過,重構確實使開發人員更好管理程式碼,當前任的開發人員離職,接手的新人往往不敢更動程式,利用重構可在不影響正確性的情況下,持續改善程式碼,是很好的程式管理功能。語言的新增
Delphi 2005語言的新增方面,無論是Delphi for .NET或Win32程式,都支援「for-in loop」語法,類似C#與Java的foreach語法,foreach是由微軟的C#首先推出,可以簡化集合或陣列於迴圈往返應用的程式寫法,Delphi在這一版也實作了IEnumerator介面,目前Java陣營在JDK 5.0也有對應的「For-Each Loop」,由於可使程式碼更為簡潔、美化,所以編譯器可以產生更有效率的執行碼。
此外,Delphi 2005支援內行展開(In Line),可加快執行速度。過去程式碼呼叫含式,含式執行後再回傳結果,利用內行展開編譯器剖析程式碼時,將直接執行含式的機器碼,不過,雖然執行速度加快,但相對的也會膨脹程式碼的大小。文⊙李延華
熱門新聞
2025-12-31
2025-12-31
2025-12-31
2025-12-31
2026-01-02
2025-12-31
2025-12-31