给出以下代码:
status = row[COL_STATUS]
if status == "idle":
row[COL_EDITABLE] = True
row[COL_FONTSTYLE] = pango.STYLE_NORMAL
row[COL_WEIGHT] = pango.WEIGHT_NORMAL
elif status == "DCed":
row[COL_EDITABLE] = True
row[COL_FONTSTYLE] = pango.STYLE_ITALIC
row[COL_WEIGHT] = pango.WEIGHT_NORMAL
else:
row[COL_EDITABLE] = False
row[COL_FONTSTYLE] = pango.STYLE_NORMAL
row[COL_WEIGHT] = pango.WEIGHT_BOLD
在您看来,下面的重构是否有益?在
^{pr2}$如果有更多的案例或更多的行组件需要编辑呢?在
你在简洁中得到的东西,在可读性上却失去了。在当前的例子中,我可以很容易地判断出什么东西去了哪里。在新的代码中,我必须更加努力地思考。在
再乘以接下来的1000次编辑,你就会遇到一些严重的可维护性问题。在
使用对象并做类似于“用子类替换类型代码”的事情呢? http://www.refactoring.com/catalog/replaceTypeCodeWithSubclasses.html
相关问题 更多 >
编程相关推荐