![]() |
1
1
首先,我认为这个问题不是意见,而是 基于需求 . 如果你说它是基于偏好的,那意味着你根本没有遇到建立最佳实践以避免的问题。考虑到这一点,第一个最佳做法是尽可能简单。API的发展取决于应用程序的特定需求以及您发现哪些需求最合适的能力。 下面是web FTP客户端上载对象的“代码演变”示例。注意,有许多不同的可能路径。这个例子的唯一目的是证明最佳实践不仅仅是偏好问题。
然后,您意识到需要一个progressbar视图来在设置状态时进行更新,因此您需要一个专门的setter:
然而,稍后您决定需要显示通知,但仅当状态设置为“完成”时。或者你发现自己需要一种速记方法,因为你必须打字
注意,您可以选择一致的API而不是方便性(例如,我确实更喜欢
setter仍然存在一个问题:如果您设置了无效的状态,例如“whatever”,它将附加类“state whatever”,因此您需要更新
另一方面,setter最基本的形式只是将属性设置为对象上的值的函数。具体程度取决于硬编码到setter中的参数数量。
|
![]() |
2
1
我会选择第二种选择,因为:
|
|
simply lemon · python上链表的添加方法 1 年前 |
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 1 年前 |
![]() |
P N Singh · 在CPP Oops中调用对象而不创建它 1 年前 |
![]() |
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 1 年前 |
![]() |
Andy Votava · 从父类定义调用学生方法 1 年前 |