德尔福 – 在课堂上宣布与否?
就在最近,可能是因为我一直在维护一些旧的代码,我已经开始研究如何/为什么我做事了.像你一样做.
我的大多数Delphi编程都是内部选择,或者是分散在Web或手册中的示例.有些事情只是因为“这就是我做的” 我目前想知道的是声明,变量,程序,功能等. 当我使用表格时,我会将所有程序和功能置于公开或私下.虽然我会尝试避免全局变量和常量,但通常会在接口或实现中使用var或const,具体取决于它们需要调用的位置(有时它们将在公共/私有中) 否则,如果它只是一个单元,我将在接口中声明该过程并在实现中使用.我最近维护的一些代码没有接口声明,但是在程序之后通过调用正确地订购了所有代码… 有没有正确的方法来做到这一点?课程中应该/不应该有什么规则?或者它是一种风格/当你开始的时候? 编辑添加 我的问题不是关于程序的声明是私下/公开的,而是一个TForm单位的所有声明是否应该进入其中一个.同样var / const应该是一个还是另一个? 进一步澄清 我知道不在界面中声明,或在public / private / etc中声明会影响我的应用程序中其他单元的过程/功能的可见性. 干杯 解决方法
这个问题似乎涉及范围.换句话说,事物可以或应该是多么容易获取.
作为一般准则,您希望尽可能地减少事物的范围,但仍然可以使它们足够可访问以便重复使用.原因是: >随着系统的发展和变得越来越复杂,具有更大范围的东西更容易被访问. 话虽如此,数据(变量,常量,类字段,记录属性)和例程(函数,过程,类上的方法)之间也存在区别.您需要更严格地将指南应用于数据,因为“奇怪使用”数据可能会以极其意外且难以调试的方式干扰您的某些例程. 另外要记住的是全局变量和类字段或记录属性之间的特殊区别: >使用全局变量,整个应用程序只有一个’值'(松散使用的术语). >我个人甚至倾向于避免全球惯例. 因此,将这些“位置”从最大范围列为最小范围,您通常会努力选择列表中较低的位置(尤其是数据). >界面全球 我必须承认:我在这里提出的内容肯定是过分简化.了解目标是一回事,实际实现目标则是另一回事.在封装(隐藏东西)和暴露受控接口之间存在平衡行为以实现高水平的可重用性. 成功平衡这些需求的技术属于一系列关于系统设计的更复杂(有时甚至是有争议的)问题.糟糕的设计很可能会导致人们“过多”地暴露“太大”的范围,并且(可能矛盾地)也会降低可重用性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |