3

我在一家公司担任入门级开发人员。我很难理解 PowerBuilder 的概念。有什么好的教程/建议吗?

4

2 回答 2

11

嗯,如果我可以重新学习 PB,我会怎么做?

  1. 带着对 SQL 的健康理解来到 PB。如果您的应用程序正在访问数据库,那么 PB 非常擅长,但在我年轻的时候没有很好地理解 SQL 会导致糟糕的决策。编写良好的 SQL 将帮助您进行应用程序分区、性能和逻辑集中化。我发现,良好地使用 SQL 可以显着减少“笨拙的 PB 客户端代码”的数量,这些代码往往聚集在通常由经验不足的开发人员编写的数据窗口代码周围。
  2. 对 SQL 有很好的理解后,您应该对结果集有一个健康的理解。这是了解数据窗口和数据存储功能的重要部分。在 PB 中,数据窗口就是一切。我首先将数据窗口用作报表制作者,以了解它如何检索数据,以及它为您提供的图形演示控制功能。
  3. 培养PB脚本知识。这并不难,但它有一些怪癖。了解如何使用 PB 脚本操作数据窗口,如何使其与其他控件交互。
  4. Sybase 提供 PB 类。参加其中一门快速课程,以了解如何在该工具中执行操作。如果您的公司希望您学习这一点,但太便宜而无法支付专业培训的费用……您可能需要重新考虑您的工作地点。投资于员工是优秀雇主与平庸雇主的区别。
  5. 如果您了解面向对象,这将帮助您编写一个可能更好且更易于维护的应用程序。即使您只能在现有应用程序上拼凑起来(欢迎来到我的世界),那么该应用程序的未来增强功能也可以设计为引入更好的方法和更少的复杂性。你不能在一夜之间修复旧的东西,但你可以确保新的东西比旧的东西产生更少的生产支持;如果您可以在保持支持需求水平的同时增加应用程序的功能,那么您在困难的情况下至少赢得了一点胜利。
  6. 如果您要继承现有的应用程序,那么提供生产支持是广泛(如果是随机)接触该应用程序的好方法。如果它是任何年代的遗留 PB 应用程序,它可能设计不佳、编写不佳、文档记录不佳且不是非常面向对象。在尝试重构之前积累应用程序的经验并熟悉它;其中可能有各种隐藏的依赖关系。如果您有幸从头开始,那么制作一个原型并从中学习,在代码通过 GUI 对象展开的情况下维护一堆废话是多么的一团糟。小心避免围绕数据窗口对并发控制的内置支持进行编码,并避免在脚本中嵌入大量 SQL。然后扔掉原型,将业务逻辑整合到 PB 非可视对象甚至数据库存储过程中;您希望将可重用的业务逻辑放在最集中的位置,而该位置不在窗口上的按钮或自定义事件中。

书籍和教程

  • 这些天出版的 PB 书籍并不多,但如果你在做经典的 PB,那么 Bruce Armstrong 有一本很好的PB9 Advanced Client/Server Development书籍。
  • PB 手册有很多信息,如果你使用的是 Powerbuilder Foundation Class,它已经开源了。您可以在 Sybase CodeExchange 上获得它。
  • 那里有一些不错的网站。Stackoverflow 的另一位用户 Terry Voth 有一个很棒的。我也喜欢 Ken Howe 的PB 技巧网站
  • 有一些 PB 新闻组提供了很好的信息。以及其他资源;谷歌会在这里帮助你很多。
  • PowerBuilder Developer's Journal 没有以前那么多的经典 PB 技巧和示例,但我相信大多数旧内容都可以在线获得。

随机的东西

  • 我希望你的商店使用源代码控制。如果没有,请弄清楚并继续进行。然后查看 PB ORCA 脚本。我开始使用它来自动化我们的构建,它可以节省时间。PB9 Advanced Client/Server 一书中有一章介绍它,但在 CodeExchange 上也有一些很好的例子。
  • 如果您是新手并且处于困境中,您可能会发现自己很多次都在想,“我可以通过在此处插入嵌入式 SQL 语句来轻松获取这些数据”。对此要小心;快速点击、单行、仅检索查询可以,但在您的应用程序中滥用嵌入式 SQL 会使其难以维护。
  • 如果您是新手并且处于困境中,您可能会发现自己很多时候都在想,“我可以通过在检索行中输入一些代码或检索结束事件来使这些数据看起来像我想要的那样”。对此也要小心。检索行逻辑会损害性能。我见过经常用于进行额外处理并将数据添加到数据窗口的检索结束逻辑;作为数据窗口的原始 SQL 语句的一部分,这比通过向数据窗口控制脚本添加更多内容要好得多。
  • 不仅仅是学习 PB。了解您公司的业务并了解您的系统应该提供帮助的流程。有时,解决方案的复杂性并不能通过系统自动化来解决,而是让授权方认识到可以首先在业务方面简化流程。
  • 人们对新语言如此着迷;我也不例外,我真的很想用 .Net 和其他人做更多的事情。但是,您作为开发人员的承诺会有所不同;你可以用任何语言做伟大的事情,无论是 PB、VB、Delphi 还是 .Net。如果它可以帮助他们完成工作,您的选民并不真正知道或关心应用程序是用什么编写的。
于 2009-10-16T07:34:02.293 回答
0

PB只是需要时间。它是面向对象的,因此如果您掌握了这些概念,您可以更轻松地让它为您工作。如果不让他们失望。它将更容易理解产品的整个编程方面。

就 IDE 等而言,您会及时适应这些怪癖。如果发生了奇怪的事情,请始终咨询互联网,到目前为止,我们已经看到了几乎所有可能发生的事情,有人已经看到了。如果您能找到 McGraw 的高级 Powerbuilder 7.0 的副本,我认为它将为未来的概念奠定良好的基础,推荐的 9 本书也很棒。还尝试让您了解 PFC,许多商店都在使用它并将继续使用它。它有许多强大的服务,RowSelection、Linkage 等,这将使您的生活变得更加轻松。

遇到麻烦时保持冷静,并在需要时向社区提出很多问题。

祝你好运!

于 2011-11-07T09:52:29.207 回答