我经常遇到需要处理数据以实现某些过程的方法,通常是这样的:
def process_something(data_from_external_service)
request_params = {
param1: data_from_external_service['param1'],
param2: data_from_external_service['param2'],
param3: data_from_external_service['param3']
}
post_action('some other service param', request_params)
end
考虑到:
- 逻辑上期望 post 操作在该方法内部(也处理该数据),并且在其他地方进行参数准备可能会在另一个调用
process_something
. data_from_external_service
正是如此,这些是来自应用程序外部的值,并且创建一个新类只是为了处理该组数据在我看来似乎是一种过度的措施。
是否有摆脱 FeatureEnvy 恶臭的“合法”方式?我现在唯一要做的就是# :reek:FeatureEnvy
在方法之上添加。