【问题标题】:PowerBuilder beginner questionPowerBuilder 初学者问题
【发布时间】:2009-10-15 22:26:43
【问题描述】:

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

【问题讨论】:

    标签: powerbuilder


    【解决方案1】:

    嗯,如果我可以重新学习 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 有一个great one。我也喜欢 Ken Howe 的PB tips site
    • 有一些 PB 新闻组有很好的信息。以及其他资源; Google 会在这方面为您提供很多帮助。
    • PowerBuilder 开发者日志没有以前那么多的经典 PB 技巧和示例,但我相信大部分旧内容都可以在线获得。

    随机事物

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

    【讨论】:

    • @Sayem Ahmed,我很同情。毫无疑问,像 PB 一样强大的工具,经典的 IDE 并没有跟上时代的步伐,而最近的语言更加健壮,并且具有显着优越的第三方和开源支持。然而,即使是 Sybase 也认识到这一点,并且 .Net 是 PB 的未来,如果您的公司允许您升级到那个点(说服管理层前进而不是倒退可能是最令人头疼的问题)。
    • @Sayem Ahmed,我对此表示同情。与任何语言一样,您需要学习“来龙去脉”。 IDE 崩溃很少见,但肯定会发生在没有经验的情况下……很好的经验。一旦你最终变得舒服,你可能会发现你有一个非常强大的工具可用于解决未来的问题。尽管 PB 的使用速度有所放缓,但它仍然是生产力的领导者,现在这种说法当然是观点,但它是使用过许多工具和语言的开发人员的观点。
    • @Sayem,我很高兴事情对你有用。 PowerBuilder 不容易学习和熟练。我自己喜欢 Java,但我决定远离 Java,因为我在为许多财富 100 强公司提供咨询时目睹的项目记录。大多数在严重超出预算后被废弃,很少有人总是超出预算并且几乎总是有用户组对可交付成果不满意。在同一时间框架内,我开发了数十个“旧版”PowerBuilder 应用程序,这些应用程序已成为关键任务并被认为转换风险/昂贵。
    • @Sayem Ahmed,每天重启你的机器可以为 PowerBuilder 的稳定性创造奇迹。白天,如果 PB 看起来有点不稳定,请重新启动。
    【解决方案2】:

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

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

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

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2020-01-04
      • 2020-11-23
      • 2015-03-16
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多