【发布时间】:2013-09-20 00:31:18
【问题描述】:
这是一个例子:
公共列表 getPizzaIngredients(pizzaName) { 如果 PizzaName = HAWAIIAN 返回 [ 起司, 番茄酱, 菠萝, 火腿]; 如果 PizzaName = ITALIAN 返回 [ 起司, 番茄酱, 意大利辣香肠, 橄榄]; 如果比萨名称 = 肉食 返回 [ 起司, 番茄酱, 意大利辣香肠, 熏肉, 香肠, 橄榄]; 返回空值; }在这里,我们在每个列表中重复成分。另一种方法是:
公共列表 getPizzaIngrediants(pizzaName) { ing = []; ing.add(奶酪) ing.add(番茄酱); if PizzaName in (HAWAIIAN) ing.add(PINEAPPLE); if PizzaName in (HAWAIIAN) ing.add(HAM); if PizzaName in (ITALIAN, MEATLOVERS) ing.add(PEPPERONI); if PizzaName in (ITALIAN, MEATLOVERS) ing.add(OLIVES); if PizzaName in (MEATLOVERS) ing.add(BACON); if PizzaName in (MEATLOVERS) ing.add(SAUSAGE); 返回;或者我们可以让它更简洁:
公共列表 getPizzaIngrediants(pizzaName) { ing = []; ing.add(奶酪,番茄酱) if PizzaName in (HAWAIIAN) ing.add(PINEAPPLE, HAM); if PizzaName in (ITALIAN, MEATLOVERS) ing.add(PEPPERONI, OLIVES); if PizzaName in (MEATLOVERS) ing.add(BACON, SAUSAGE); 返回;现在就个人而言 - 虽然第一个示例更冗长并且涉及重复变量,但它比其他两个解决方案更具可读性和更容易修改。
对于这种编程风格/问题是否有约定?
【问题讨论】:
-
因为这个问题主要是基于意见的,所以这个问题没有一个答案,因此应该关闭。
-
我不同意 - 这不是一个只能通过意见来回答的问题。问题是是否存在围绕此类标准编程任务的约定。我想说,虽然没有标准,但您会发现如何实施这样的解决方案通常取决于您的环境。在工作场所,您可能有规定效率或可读性的标准;我想这与你所处的情况有关。但是,我认为在上述情况下,处理它的“正确方法”更多的是关于您是否正在寻找效率、可读性或介于两者之间的东西