我对项目的技术背景基本熟悉,但没有实际意义上的技术规范。该项目以敏捷的方式开发,模板以用户故事和相关开发人员任务的形式提供,但通常只包含几句话。回想起来,还发现这些规范部分已经过时、不完整且与现有代码不一致。然而,作为一名开发人员,我已经学会了处理此类事情。您还应该熟悉这种类型的工作情况,因为您经常会在项目中遇到不完整的规范。
正如您可能想象的那样,找到解决不熟悉的代码的方法并不总是那么容易。作为开发人员,您经常假设存在错误,识别代码并尝试理解软件设计。后者很重要,因为设计告诉您类或通用代码区域应该如何交互。在浏览代码(或者更确切地说是设计)时,您应该特别注意两件事:
构成模型基础的类和方法的名称。
“DIE”的存在,包括浏览引用和显示层次结构,可靠地显示哪些代码相互链接。
到目前为止,一切都很好。但是,如果设计已经存在,但在许多地方并未得到一致实施,该怎么办?例如,如果 XyzMapper 类不仅可以映射事物,还可以处理持久性任务?或者当 DTO 携带 Postfix bean 一次而不是 律师电子邮件列表 一次时。如果这些 DTO 在某些地方用于外部处理,而在其他地方用于内部处理,又会怎样呢?
这样您就可以避免可能的绊脚石
如果存在大量这样的绊脚石,那么你用设计来理解代码是没有多大帮助的。您唯一的选择是浏览整个代码库并实际检查每个方法和方法调用。这样你至少可以确保你没有忽略任何事情。然而,这个过程并不罕见,而且在某些情况下是必要的。下面我想逐步向您描述如何最好地进行。首先,您应该查看类的轮廓,因为在那里您可以一眼看出有多少方法以及哪些方法被分类为“私有”或“公共”。 “私有”是指仅在类本身中使用的方法:另一方面,术语“公共”是指也可以从外部使用的方法。如果您想找到解决代码的方法,那么“私有”和“公共”之间的区别至关重要。
在上述项目中给我的代码库中,使用“public”、“private”; “受保护”和“默认”处理得很不小心。不幸的是,当工作匆忙时,经常会出现这种情况。 “默认”显然是在没有真正了解它们如何工作的情况下创建的,但是,我不想在本文中更详细地描述这一点,我向那些希望再次看到该问题的人推荐以下教程。
通过分类正确沟通
可见性规则和信息隐藏存在于许多编程语言中,是面向对象编程的一部分。如果您将一个方法分类为“私有”,则您向编译器发出信号,表明该函数与任何人无关,即它只能由“您的”类使用。这也是对的,也是好事。编译器不是人类,但它通常非常严格,因为它实现了没有任何“如果”和“但是”的可见性规则。只有在 Java 中——我知道这一点,因为我已经使用过它好几次了——才能使用“反射”来规避这种严格性。但如果您可以绕过这些可见性规则,这实际上意味着什么呢?答案很简单,因为它不是关于扣留或禁止其他程序员的某些东西,而是关于交换。如果有“公共分类”,您可以向其他开发人员发出信号“您不必担心这里的内容”或“这可能对您有帮助”。