2009-10-15 128 views

回答

11

嗯,如果我能再一次學習PB,我該怎麼做呢?

  1. 快來PB認識一下SQL吧。如果你的應用程序正在打一個數據庫,PB很擅長,但當我年輕時不能很好地理解SQL會導致糟糕的決定。編寫良好的SQL將幫助您進行應用程序分區,性能和邏輯集中。我發現SQL的良好使用可以顯着減少「笨拙的PB客戶端代碼」的數量,這往往會聚集在通常由經驗較少的開發人員編寫的數據窗口代碼上。
  2. 隨着對SQL的深入理解,您應該對結果集有一個良好的理解。這是欣賞數據窗口和數據存儲的力量的重要組成部分。在PB中,數據窗口爲,全部爲。我首先簡單地將數據窗口作爲報告製作者,開始瞭解它如何檢索數據,以及它在圖形展示控件中的功能。
  3. 開發PB腳本的知識。這並不難,但它有一些怪癖。學習如何使用PB腳本處理數據窗口,如何使其與其他控件交互。
  4. Sybase提供PB類。參加快速課程之一,瞭解如何在該工具中進行操作。如果您的公司希望您瞭解這一點,但卻不便於爲專業培訓付費......您可能需要重新考慮您的工作地點。對員工進行投資是將好僱主與平庸僱主分開的原因。
  5. 如果您瞭解面向對象,這將幫助您編寫一個潛在更好,更易於維護的應用程序。即使你只能在現有的應用程序上鋪平道路(歡迎來到我的世界),那麼對該應用程序的未來增強可以被設計爲引入更好的方法和更少的併發症。你不能在一夜之間解決舊的問題,但你可以確保新的東西比舊的東西產生更少的生產支持;如果您可以在保持支持需求水平的同時增加應用程序的功能,則在困難的情況下您至少贏得了一點勝利。
  6. 如果您要繼承現有的應用程序,那麼製作生產支持是一種很好的方法,可以隨意暴露於應用程序中。如果它是一個任何年齡的遺留PB應用程序,它可能設計得不好,寫得不好,記錄不完整,而且不是很面向對象。在嘗試重構之前,構建應用程序體驗並熟悉它;其中可能存在各種隱藏的依賴關係。 如果你有幸從頭開始,然後製作一個原型,並從中學習,從代碼通過GUI對象展開的過程中維護一堆垃圾是一團糟。小心避免編碼圍繞數據窗口對併發控制的內置支持,並避免在腳本中嵌入大量的SQL。然後將原型拋棄併合並PB非可視對象或甚至數據庫存儲過程中的業務邏輯;您希望將可重用的業務邏輯放在最集中的位置,並且該位置不在窗口中的按鈕或自定義事件中。

書籍和教程

  • 有沒有被公佈,這些天很多PB的書,但如果你正在做經典的PB,有一個很好的PB9 Advanced Client/Server Development本書由布魯斯·阿姆斯特朗。
  • PB手冊中包含大量信息,如果您使用Powerbuilder Foundation Class,則它已經開源。您可以通過Sybase CodeExchange獲取它。
  • 有一些很好的網站。研究員Stackoverflow用戶Terry Voth有一個great one。我也喜歡Ken Howe的PB tips site
  • 有一些PB新聞組具有良好的信息。還有其他資源;谷歌會在這裏幫助你很多。
  • PowerBuilder Developer's Journal沒有像以前那麼多的經典PB技巧和示例,但我相信大部分舊內容都可以在線訪問。

隨機的東西

  • 我希望你的店鋪使用源代碼控制。如果不是的話,找出它並讓它發生。然後看看PB ORCA腳本。我開始使用它來自動化我們的構建,這是一個節省時間。在PB9高級客戶端/服務器書中有一章,但在CodeExchange上也有一些很好的例子。
  • 如果你是新手,那麼你可能會發現自己多次想:「我可以通過在嵌入式SQL語句中輕鬆獲取數據。小心一點;快速命中,單行,僅檢索式查詢可以,但是在應用程序中濫用嵌入式SQL會導致難以維護。
  • 如果你是新手,那麼你可能會發現自己多次想:「通過在檢索行中放入一些代碼或檢索結束事件,我可以通過這些數據來按照我想要的方式查看數據。還要小心。檢索行邏輯會傷害性能。我見過檢索結束邏輯經常用來做額外的處理並將數據添加到數據窗口;作爲數據窗口的原始SQL語句的一部分,而不是通過向數據窗口控制腳本添加更多的東西來完成。
  • 這不僅僅是學習PB。瞭解您公司的業務並瞭解您的系統應該提供幫助的流程。有時候解決方案的複雜性不是通過系統自動化來解決的,而是通過讓授權方認識到可以首先簡化業務流程。
  • 人們對於新語言如此着迷;我不是一個例外,並且真的想要在.Net和其他方面做更多的事情。但是,作爲一名開發人員,您的承諾會發揮重要作用;你可以用任何語言來做偉大的事情,不管是PB還是VB,Delphi還是.Net。如果幫助他們完成工作,你的選民們並不真正瞭解或關心該應用的內容。
+0

感謝您的回答 – contactmatt 2009-10-16 20:32:04

+0

@Sayem艾哈邁德,我同情。毫無疑問,像PB這樣強大的工具,傳統的IDE並沒有跟上時代的步伐,而最近的語言更加強大,並且具有出色的第三方和開源支持。然而,即使Sybase認識到了這一點,並且PB的未來也是.Net,如果你的公司允許你升級到這一點(並且說服管理層向前而不是落後可能是所有人最頭痛的問題)。 – 2010-08-12 12:04:34

+1

@Sayem艾哈邁德,我可以在那裏同情。與任何語言一樣,您需要了解「來龍去脈」。 IDE崩潰是罕見的,但肯定有事情發生在沒有經驗的情況下......良好的體驗。一旦你終於變得舒服,你可能會發現你有一個非常強大的工具可用於未來的問題。儘管PB的使用速度已經放慢,但它仍然是生產力的領導者,現在這個聲明當然是意見,但是這是開發者使用許多工具和語言的意見。 – 2011-06-04 15:40:51

0

PB只需要時間。這是OO,所以如果你有這些概念,你可以更容易地爲它工作。如果沒有讓他們失望。它會讓您更容易理解產品的整個編程方面。

只要IDE回覆,你就會習慣這個怪癖。如果發生了一些奇怪的事情,請務必諮詢互聯網,我們已經看到了迄今爲​​止可能發生的一切,有些人已經看到了。如果你能從McGraw找到一個先進的Powerbuilder 7.0副本,我認爲它將有一個很好的基礎,他推薦的9本書也很棒。也嘗試着讓你在PFC的周圍,許多商店使用它並將繼續。它有許多強大的服務,RowSelection,Linkage等,這將使你的生活更加輕鬆。

當遇到麻煩時請保持冷靜,並在社區需要時提出許多問題。

祝你好運!