麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Oracle > 正文

Oracle數據庫編寫PL/SQL代碼經驗談

2024-08-29 14:01:35
字體:
來源:轉載
供稿:網友

我從1990年就開始編寫PL/SQL代碼。這意味著我已經編寫了幾萬行的軟件代碼,但我確信,其中的絕大多數代碼都非常拙劣,而且難以維護。

幸運地是,我發現找到并遵循編寫出更好代碼的新方法還為時不晚。就是在去年,我的代碼質量有了顯著改進;這些改進主要是由于制定了一些簡單的規則,并像紀律一樣加以遵守。

所有工作都獨自完成

我們很少有人是孤立工作的;大多數PL/SQL開發工作是在相對較大的機構中進行的。但我們基本上還是在自己的小隔間里用自己的設備獨自工作。幾乎沒有PL/SQL開發小組進行正規的代碼復查或系統測試。

我不可能通過這篇文章改變你們開發小組的基本狀態。因此,我仔細地選取出以下幾點建議。實施其中任何一點并不需征得管理人員同意。不論你的小組是大是小,都不必讓其中的每個人都贊同這些編碼規則。你只需按以下建議來改變你的本人的編碼方式:

1. 嚴格遵循命名約定,好像它們就是你的生命支柱。

2. 戒除編寫SQL的嗜好:編寫的SQL越少越好。

3. 使執行部分短小:告別"意大利面條式的代碼"。

4. 找一位伙伴:非常贊同找個人來監督你的工作。

1. 遵循命名約定

如果你建立并嚴格遵循一套命名約定,特別是對于應用程序組件的,你就可以節省很多時間。

當然,遵循命名約定的想法并沒有什么新意,你可能已經聽煩了。所以我并不提出什么宏偉的命名計劃,而是給出一些非常具體而明確的約定,然后證明這些約定會多么有用。

前幾個月我一直在為PL/SQL開發人員設計、構建一種新工具。它名為Swyg(可以在www.swyg.com中找到),可以幫助程序員完成代碼的生成、測試及重用的工作。它具有幾個獨特的組件。我為每個組件指定了一個由兩個字母組成的縮寫名稱,如下所示:

    SF-Swyg的基礎部件  SM-Swyg的元數據  SG-Swyg的生成程序  SL-Swyg的代碼庫  ST-Swyg的單元測試 
 

于是,我便遵循表1中的命名約定,同時使用這些縮寫。遵循這些約定有什么好處呢?一般來講,如果我要求一致的命名規則,我就可以更流暢更高效地編寫代碼。

明確地說,這些約定具有可預測性,意思是說我編寫的SQL程序能生成有用的腳本。例如,通過使用表1中的約定,可以生成Swyg中所有基礎包的安裝腳本。執行這些工作的SQL*Plus腳本如清單1所示。這類腳本非常有用,因為它意味著我不必手動維護安裝腳本。當我向Swyg方案中增加另一個表,并生成一組相關包時,我只要運行我的腳本,更新后的安裝腳本便會跳出來。

2. 戒除編寫SQL的嗜好

編寫的SQL越少越好,這似乎與我們的直覺不太一致。對于PL/SQL開發人員來說,這是一個奇特的建議,因為PL/SQL的主要優點之一就是可以毫不費力地在代碼中編寫SQL語句。不過,這種簡易性也是這種語言的一個致命的弱點。

可以將純粹的SQL語句直接置于PL/SQL代碼中,而無需JDBC或ODBC之類的中間層。因此,無論何時何地,PL/SQL開發人員只要需要SQL語句,他們通常就會向其應用程序代碼中嵌入SQL語句。那么這樣做有什么問題嗎?

在PL/SQL代碼中到處使用SQL語句必然會導致以下后果:

盡管實際表現不同,但同一邏輯語句仍會出現重復,從而導致過多的語法分析,且難于優化應用程序的性能。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产亚洲欧美在线视频 | 天堂亚洲一区 | 五月天影院,久久综合, | 日韩毛片在线看 | 一级黄色淫片 | 黄色大片大毛片 | 精品av在线播放 | 精品在线免费播放 | 欧美中文字幕一区二区 | 亚洲片在线 | 国产无遮挡一级毛片 | 黄色片免费看网站 | 日韩黄色精品视频 | 一级黄色影院 | www.com香蕉 | 中午日产幕无线码1区 | 欧美午夜网 | 国产一区视频在线观看免费 | 青青草免费观看完整版高清 | 免费观看又色又爽又黄的崩锅 | 精品一区二区三区在线观看视频 | 欧美一区二区三区久久精品视 | 久久毛片 | 亚洲va久久久噜噜噜久久男同 | 深夜福利久久久 | 在线观看国产一区二区三区 | 中文字幕免费在线看 | 色域tv| 国产精品成人久久久久a级 av电影在线免费 | 亚洲成人福利在线 | 精品亚洲一区二区三区 | 日本aaaa片毛片免费观看视频 | 国产资源在线观看 | 日韩精品中文字幕在线观看 | 亚洲日本欧美 | 欧美日韩免费看 | 红杏网站永久免费视频入口 | 涩涩天堂| www.精品在线 | lutube成人福利在线观看污 | 一级大片一级一大片 |