我必须在两种完全相同的设计之间做出选择 从维护工作的角度来看哪一个更好? SRP违规?
设计#1
.btn[disabled]{
opacity: .65; //Comment this
}
设计#2
if(ConditionVerified())
{
Process();
}
public void Process()
{
// Do a lot of work ...
}
答案 0 :(得分:0)
如果可以从代码中的多个位置启动process
,并且condition
始终遵循相同的要求,则选项#2可能是可行的设计。在所有其他情况下,额外的跳是无用的,我会坚持#1。
答案 1 :(得分:0)
由于您的方法没有错误/成功条件的返回类型,我建议您使用Design#1。
但是,如果您正在做大量工作,则应考虑故障或执行前条件如何影响操作。在这种情况下,您应该使用设计#2。
我个人默认为#2,因为我喜欢保留所有相关的逻辑,但是有充分的理由不去#2: