【问题标题】:What is some clean, elegant, well-designed, well-written, nicely done Delphi code that junior-level Delphi developers should study?初级 Delphi 开发人员应该学习哪些干净、优雅、设计良好、编写良好、做得很好的 Delphi 代码?
【发布时间】:2011-07-29 20:40:54
【问题描述】:

我们的组织中有许多初级 Delphi 开发人员,作为教授他们 Delphi 的过程的一部分,我希望他们看看“干净”、编写良好、设计良好的 Delphi 代码。

我会寻找的一些标准包括:

  1. 优秀的班级结构
  2. 很好地使用接口
  3. 不会过于复杂或困难,但足够复杂和困难,足以提供指导。
  4. 小方法
  5. 带有单元测试的代码。

一般来说,我正在寻找能让 Bob Martin 叔叔感到自豪的代码。

我熟悉许多流行的 Delphi 开源项目,但我希望社区的建议和建议。

我会将这个问题设为社区 Wiki 问题。

【问题讨论】:

  • 我认为我不能立即将这个问题设为社区 wiki,但我会尽可能地这样做,因为我认为这是一个将朝着这​​个方向发展的问题。
  • 自己的代码库中没有这样的代码是不是有点担心?!
  • 另一个标准;应该可以在没有太多外部依赖项的情况下工作,因此您可以在课堂上使用它。例如,没有外部连接或数据库依赖,或复杂的设置或安装。
  • 大卫 -- 谁说我们没有? ;-) 我只是在寻找尽可能多的例子。我对社区推荐感兴趣。
  • @Nick 你有首选域吗?在与您的组织运营领域完全正交的领域中向您的新员工传授最佳实践并没有多大意义。

标签: delphi coding-style


【解决方案1】:

我建议您采用一个非常简单的程序,并让初级开发人员按照您列出的所有良好标准在 Delphi 中实现它。你想要一些真正不需要设计的东西(简单得离谱!)该程序的重​​点是遵循所有这些最佳实践。如果您有一个可以结对编程并讨论如何最好地做事的小团队,这尤其有用。确保他们也与您的高级开发人员进行定期代码审查。

我知道这不是您想要的,但我坚信人们通过做事比通过阅读学到的东西更多。

如需灵感,请查看Enterprise edition of Fizzbuzz。他采用了一个非常简单的算法,并使用所有最佳实践对其进行了过度设计。 (它是用 C# 编写的,因此您可以让初级开发人员用 Delphi 重新编写它)。

然后,当它们完成后,您可以将其开源,这样每个人都可以惊叹。

【讨论】:

  • Fizzbuzz 的企业版由于过度设计而难以维护和改进,这不是很讽刺吗?惊奇还是笑话?
【解决方案2】:

并非存储库中的所有代码都设计得一样好,但作为思想的来源和编写良好的 Pascal 代码,Synopse 开源化石项目中有很多伟大之处。存储库的某些部分包含仅在 Delphi 7 中构建且不支持 unicode 的项目,但我要指出的主要部分是 Delphi ORM+SQLite3 框架。

虽然它不是典型的 Delphi VCL 应用程序代码,但它有一个非常 REST 架构驱动的焦点,并且演示使用对象 Pascal 中的手动编码表单,而不是使用传统的基于 delphi DFM 的表单 UI。

我不知道我会推荐什么,就是你上面说的所有东西,加上具有出色的单元测试覆盖率,加上适合初学者阅读,这也足以坚持 Idiomatic Delphi 不教反对我最想教德尔福初学者的东西;坚持使用惯用的解决方案,直到您有足够的专家知道何时不使用常见的 Delphi 习语。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多