我了解了 DRY 代码和
Flat比嵌套
更好
我也知道过度干燥的代码是坏的,我不是“虔诚地”干或什么的。但哪一个会更好? (我不能说出可能不太可读的创作者)
"""
Basically the variable "answer" is overwritten to equal "number" "+" or "-"
or "*" or "/" or "**" the existing value of answer. Here, operation is a
dictionary; and a value (such as to add, subtract etc.) is accessed based on
symbol the user has inputted (such as "+", "-" etc.)
"""
#Type 1:
number = float(input("Enter number: "))
answer = operation[symbol](answer, number)
#Type 2:
answer = operation[symbol](answer, (float(input("Enter number: "))))
答案 0 :(得分:0)
从一开始就认为你对软件质量有所了解。最好的答案并不总是非常清楚,特别是如果您考虑在一个非常低级别的单个指令调用上做出决定,就像现在一样。
我会投票给Type1,但Type2也完全没问题。这取决于随着时间的推移而发展的人的习惯。
我认为你现在可以使用它们中的任何一个,但在考虑程序的整体形状时仍然会考虑最佳实践和设计模式。目标是让软件轻松可维护,并且(如果您创建库)易于使用,则由其他程序员完成。
答案 1 :(得分:-2)
这个例子并不复杂,所以类型2对我来说是好的(但是meh),但总的来说我会选择类型1,因为我认为它更具可读性。不仅适合我,也适用于其他将在以后使用我的代码的人。我不喜欢一行中的多个动作,我认为当你(或其他人)稍后再回到它时会使事情变得不必要地复杂化